主题
LimeNavbar 导航栏组件
一个功能丰富的导航栏组件,用于页面顶部导航。支持标题、返回按钮、自定义胶囊按钮、搜索框等多种配置,可用于各种页面导航场景。组件提供了丰富的自定义选项,可以满足各种复杂的界面设计需求。
插件依赖:
lime-style
、lime-shared
、lime-icon
文档链接
📚 组件详细文档请访问以下站点:
安装方法
注意🔔
本插件依赖的【lime-svg】是原生插件,如果购买(收费为6元)则需要自定义基座,才能使用, 若不需要删除即可
代码演示
基础用法
最简单的导航栏组件用法,只需要设置标题即可。
html
<l-navbar title="标题文字" :fixed="false"></l-navbar>
1
返回上级
通过 left-arrow
属性设置显示返回箭头图标,通过 click-left
事件接收点击事件,delta
属性设置后退按钮后退层数。
html
<l-navbar title="标题文字" :left-arrow="true" @click-left="onClickLeft"></l-navbar>
1
js
const onClickLeft = () => {
console.log('点击返回')
}
1
2
3
2
3
标题文字超出
通过 title-max-length
属性设置标题文字最大长度,超出部分将显示为省略号。
html
<l-navbar title="标题文字超出" :title-max-length="5" :fixed="false"></l-navbar>
1
自定义胶囊样式
通过 capsule
插槽自定义胶囊按钮样式。
html
<l-navbar title="标题文字" :fixed="false">
<template #capsule>
<view class="custom-capsule">
<l-icon name="chevron-left" size="20px" class="custom-capsule__icon" />
<view style="width: 1px;height: 20px; background-color: #ddd; margin: 0 10px;"></view>
<l-icon name="home" size="20px" class="custom-capsule__icon" />
</view>
</template>
<template #right>
<l-icon name="ellipsis" size="24px" />
</template>
</l-navbar>
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
css
.custom-capsule {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
flex-direction: row;
}
.custom-capsule__icon {
position: relative;
margin: 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
带搜索导航栏
通过 left
插槽自定义左侧内容,通过 right
插槽自定义右侧内容。
html
<l-navbar title="标题文字" :fixed="false">
<template #left>
<view style="width: 80%;">
<l-search placeholder="搜索预设文案?" shape="round"/>
</view>
</template>
<template #right>
<l-icon name="home" size="24px" />
<view style="width: 10px;"></view>
<l-icon name="ellipsis" size="24px" />
</template>
</l-navbar>
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
自定义样式
通过 bg-color
设置背景色,color
设置文本颜色。
html
<l-navbar title="标题文字" :fixed="false" :left-arrow="true" bg-color="#3283ff" color="white"></l-navbar>
1
额外插槽
需要弹窗从顶部出现时,并且弹窗的top为navbar高度时可使用 extra
插槽。
html
<l-navbar>
<template #extra="{size}">
<l-popup v-model="visible"
:overlayStyle="{ top: size.height+ 'px' }"
:l-style="{ top: size.height + 'px' }"
:position="currentPlacement"
:closeable="true">
<view style="padding: 100px;"></view>
</l-popup>
</template>
</l-navbar>
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
快速预览
导入插件后,可以直接使用以下标签查看演示效果:
html
<!-- 代码位于 uni_modules/lime-navbar/components/lime-navbar -->
<lime-navbar />
1
2
2
插件标签说明
标签名 | 说明 |
---|---|
l-navbar | 组件标签 |
lime-navbar | 演示标签 |
Vue2使用说明
main.js中添加以下代码:
js
// vue2项目中使用
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)
1
2
3
4
2
3
4
详细配置请参考官方文档:Vue Composition API
API文档
Props 属性说明
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
placeholder | 固定在顶部时,是否在标签位置生成一个等高的占位元素 | boolean | false |
safeAreaInsetTop | 是否开启顶部安全区适配 | boolean | false |
animation | 是否添加动画效果 | boolean | true |
fixed | 是否固定在顶部 | boolean | true |
leftArrow | 是否展示左侧箭头 | boolean | false |
title | 页面标题 | string | - |
titleMaxLength | 标题文字最大长度,超出的范围使用 ... 表示 | number | - |
delta | 后退按钮后退层数 | number | 1 |
zIndex | z-index 层级 | number | - |
bgColor | 背景色 | string | - |
color | 文本色 | string | - |
Events 事件
事件名 | 说明 | 回调参数 |
---|---|---|
back | 返回触发 | - |
click-left | 点击左侧图标触发 | - |
Slots 插槽
名称 | 说明 |
---|---|
capsule | 左侧胶囊区域 |
left | 左侧区域 |
right | 右侧区域 |
title | 标题区域 |
extra | 额外区域,用于顶部弹窗等场景 |
主题定制
组件提供了以下CSS变量,可用于自定义样式:
变量名称 | 默认值 | 描述 |
---|---|---|
--l-navbar-color | $text-color-1 | 导航栏文本颜色 |
--l-navbar-bg-color | $bg-color-container | 导航栏背景色 |
--l-navbar-height | 48px | 导航栏高度 |
--l-navbar-z-index | 998 | 导航栏层级 |
--l-navbar-right | 12px | 导航栏右侧内边距 |
--l-navbar-left | 12px | 导航栏左侧内边距 |
--l-navbar-padding-top | 0px | 导航栏顶部内边距 |
--l-navbar-title-font-size | 18px | 标题字体大小 |
--l-navbar-title-font-weight | 600 | 标题字体粗细 |
--l-navbar-left-arrow-size | 24px | 左侧箭头大小 |
--l-navbar-capsule-border-color | $border-color-1 | 胶囊按钮边框颜色 |
--l-navbar-capsule-border-radius | 16px | 胶囊按钮边框圆角 |
--l-navbar-capsule-width | 88px | 胶囊按钮宽度 |
--l-navbar-capsule-height | 32px | 胶囊按钮高度 |
支持与赞赏
如果你觉得本插件解决了你的问题,可以考虑支持作者:
支付宝赞助 | 微信赞助 |
---|---|
![]() | ![]() |