diff --git a/src/components/TopNavBar/README.md b/src/components/TopNavBar/README.md deleted file mode 100644 index 789d89c..0000000 --- a/src/components/TopNavBar/README.md +++ /dev/null @@ -1,176 +0,0 @@ -# TopNavBar 顶部导航栏组件 - -一个功能完整的顶部导航栏组件,支持固定定位、自定义样式和插槽内容。 - -## 功能特性 - -- ✅ 支持固定在页面顶部(可配置) -- ✅ 自动适配状态栏高度 -- ✅ 支持自定义标题和颜色 -- ✅ 支持插槽自定义内容 -- ✅ 内置返回按钮功能 -- ✅ 响应式设计 -- ✅ 深色模式支持 -- ✅ 安全区域适配 - -## 基础用法 - -### 简单使用 -```vue - - - -``` - -### 固定在顶部 -```vue - -``` - -### 自定义样式 -```vue - -``` - -### 标题对齐方式 -```vue - -``` - -### 使用插槽 -```vue - -``` - -## API - -### Props - -| 参数 | 类型 | 默认值 | 说明 | -|------|------|--------|------| -| title | String | '' | 导航栏标题 | -| fixed | Boolean | false | 是否固定在页面顶部 | -| showBack | Boolean | true | 是否显示返回按钮 | -| backgroundColor | String | '#ffffff' | 背景颜色 | -| titleColor | String | '#333333' | 标题文字颜色 | -| backIconColor | String | '#333333' | 返回按钮图标颜色 | -| hideStatusBar | Boolean | false | 是否隐藏状态栏占位 | -| zIndex | Number | 999 | 层级索引 | -| titleAlign | String | 'center' | 标题对齐方式,可选值:'center'、'left' | - -### Events - -| 事件名 | 说明 | 参数 | -|--------|------|------| -| back | 点击返回按钮时触发 | - | - -### Slots - -| 插槽名 | 说明 | -|--------|------| -| title | 自定义标题内容 | -| right | 自定义右侧内容 | - -## 使用示例 - -### 订单列表页面 -```vue - -``` - -### 商品详情页面 -```vue - - - -``` - -## 注意事项 - -1. **固定定位使用**:当设置 `fixed="true"` 时,组件会固定在页面顶部,此时需要为页面内容添加适当的顶部间距。 - -2. **状态栏适配**:组件会自动获取系统状态栏高度并进行适配,无需手动处理。 - -3. **返回按钮**:默认点击返回按钮会执行 `uni.navigateBack()`,如果需要自定义返回逻辑,请监听 `@back` 事件。 - -4. **样式覆盖**:如需自定义样式,建议通过 props 传入颜色值,或在父组件中使用深度选择器覆盖样式。 - -5. **插槽使用**:title 插槽会完全替换默认的标题显示,right 插槽用于添加右侧操作按钮。 - -## 更新日志 - -### v1.0.0 -- 初始版本发布 -- 支持基础导航栏功能 -- 支持固定定位配置 -- 支持自定义样式和插槽 \ No newline at end of file diff --git a/src/components/TopNavBar/demo.vue b/src/components/TopNavBar/demo.vue deleted file mode 100644 index 48972c1..0000000 --- a/src/components/TopNavBar/demo.vue +++ /dev/null @@ -1,151 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/TopNavBar/index.vue b/src/components/TopNavBar/index.vue index bb38505..12272ab 100644 --- a/src/components/TopNavBar/index.vue +++ b/src/components/TopNavBar/index.vue @@ -31,7 +31,7 @@ -``` - -## 实际应用场景 - -### 1. 商品详情页 - -```vue - -``` - -### 2. 订单列表页 - -```vue - -``` - -### 3. 聊天页面 - -```vue - -``` - -## 最佳实践 - -### 1. 固定导航栏的页面布局 - -```scss -// 推荐的页面结构 -.page-container { - .page-content { - // 方法1: 使用 padding-top - padding-top: calc(var(--status-bar-height, 44px) + 44px); - - // 方法2: 使用 margin-top - // margin-top: calc(var(--status-bar-height, 44px) + 44px); - } -} -``` - -### 2. 响应式设计 - -```scss -// 适配不同屏幕尺寸 -@media screen and (max-width: 375px) { - .page-content { - padding-top: calc(var(--status-bar-height, 44px) + 40px); - } -} -``` - -### 3. 主题适配 - -```vue - - - -``` - -## 注意事项 - -1. **固定定位的性能考虑**: 固定导航栏会创建新的层叠上下文,在复杂页面中可能影响性能 - -2. **状态栏适配**: 在不同设备上状态栏高度可能不同,组件会自动处理,但建议在测试时验证各种设备 - -3. **插槽内容**: 使用插槽时注意内容的响应式设计,确保在不同屏幕尺寸下都能正常显示 - -4. **z-index 管理**: 如果页面中有其他固定定位元素,注意调整 z-index 避免层级冲突 - -5. **返回按钮**: 默认返回行为是 `uni.navigateBack()`,如需自定义请监听 `@back` 事件 - -## 故障排除 - -### 常见问题 - -**Q: 固定导航栏下的内容被遮挡了?** -A: 需要为页面内容添加顶部间距,参考上面的最佳实践。 - -**Q: 在某些设备上状态栏高度不正确?** -A: 组件会自动获取状态栏高度,如果仍有问题,可以手动设置 `hideStatusBar="true"` 并自行处理。 - -**Q: 自定义颜色不生效?** -A: 确保传入的颜色值格式正确,支持 hex、rgb、rgba 等标准 CSS 颜色格式。 - -**Q: 插槽内容显示异常?** -A: 检查插槽内容的样式,确保没有影响导航栏布局的 CSS 属性。 \ No newline at end of file