更新记录
1.0.0(2021-07-20)
第一版
平台兼容性
如果有问题插件市场评论区留下五星好评即可
兼容性
App + H5 + 微信小程序(其他平台未测试)
功能
两种类型导航 deNav正常类型导航(左边返回,中间文字,右边按钮)
- 是否开启返回
- 自定义文字,文字是否居中(或者居左)
- 是否开启右边按钮
- 右边添加了自定义插槽,可自己编写
searchNav搜索导航(左边按钮,中间搜索,右边按钮)
- 左右两边按钮添加了自定义插槽,可自己编写
- 带搜索框,有搜索记录(获取本地缓存,可清空记录),自定义搜索提示文字
- 搜索列表添加了自定义插槽,可自己编写
引入插件
单独引入,在需要使用的页面上 import 引入即可
<template>
<view>
<customHead></customHead>
</view>
</template>
<script>
import customHead from "@/components/xy-customhead/xy-customhead.vue"
export default {
components: {
customHead
}
}
</script>
全局引入,main.js
中 import 引入并注册即可全局使用
import customHead from "@/components/xy-customhead/xy-customhead.vue"
Vue.component('customHead', customHead)
自定义导航需要隐藏原生导航
pages.json
加上如下配置:
单个页面隐藏原生导航
"pages": [
{
"path": "pages/index/index",
"style": {
"navigationStyle":"custom" //隐藏当前页原生导航
}
}
],
全局隐藏原生导航
"globalStyle": {
"navigationStyle": "custom" //全局隐藏原生导航
}
deNav设置默认值
<template>
<view>
<customHead mode='deNav'
:title='headtitle'
:textAlign='textAlign'
:isReturn='isReturn'
:colorMode='colorMode'
:colorType='colorType'
:RbtnMode='RbtnMode'
@Rbtn='handleRbtn'
>
</customHead>
</view>
</template>
<script>
import customHead from '@/components/xy-customhead/xy-customhead.vue'
export default {
components: {
customHead
},
data () {
return {
headtitle: '首页', // 文字
textAlign: false, // 文字是否居中,默认居中
isReturn: true, // 是否开启返回箭头,默认关闭
colorMode: true, // 是否开渐变背景,默认开启
colorType: 'green', // 渐变背景颜色 red/yellow/blue/green 默认green
RbtnMode: true, // 是否开右边按钮,默认关闭
}
},
methods: {
//左边按钮事件
handleLbtn(){
console.log('用户点击了左边按钮')
}
}
}
</script>
searchNav设置默认值
<template>
<view>
<customHead mode='searchNav'
:title='headtitle'
:searchTips='searchTips'
:searchLists='searchLists'
:colorMode='colorMode'
:colorType='colorType'
@Lbtn='handleLbtn'
@Rbtn='handleRbtn'
@searchConfirm='searchConfirm'
>
</customHead>
</view>
</template>
<script>
import customHead from '@/components/xy-customhead/xy-customhead.vue'
export default {
components: {
customHead
},
data () {
return {
headtitle: '首页', // 右边按钮文字
searchTips: '请输入关键字', // 搜索框提示文字
searchLists: ['热门1','热门2','热门3','热门4','热门5','热门6'], // 热门搜索列表
colorMode: true, // 是否开渐变背景,默认开启
colorType: 'green', // 渐变背景颜色 red/yellow/blue/green 默认green
}
},
methods: {
//左按钮事件
handleLbtn(){
console.log('用户点击了左边按钮')
},
//右按钮事件
handleRbtn(){
console.log('用户点击了左边按钮')
},
//搜索事件
searchConfirm(e){
if(e!=''){
console.log('用户搜索了'+e)
}
}
}
}
</script>
参数
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
mode | String | deNav | deNav常用导航栏/searchNav带搜索导航栏 |
title | String | deNav中间文字/searchNav左边按钮文字 | |
textAlign | Boolean | true | 文字是否居中(仅deNav),默认居中 |
isReturn | Boolean | false | 是否开启返回箭头(仅deNav),默认关闭 |
searchTips | String | 搜索框提示文字(仅searchNav) | |
searchLists | String | 热门搜索列表(仅searchNav) | |
colorMode | Boolean | true | 是否开启单色背景,默认关闭 |
bgColor | String | #0fac9c | 背景颜色(需要开启单色背景) |
colorType | String | green | 渐变背景颜色 red/yellow/blue/green 默认green |
事件
事件名 | 说明 |
---|---|
@Lbtn | 左边按钮事件 |
@Rbtn | 右边按钮事件 |
@searchConfirm | 搜索框事件 |
插槽使用
支持一些可自定义化的插槽,如替换左右文字或图标,可使用插槽,使用方法如下:
<customHead>
<view slot="customRbtn">菜单</view>
</customHead>
自定义插槽元素样式交给开发者自由调整,searchNav下左右两边自定义文字最多两个超出隐藏,插槽仅提供预留位置。
其他插槽见下。
插槽
插槽名 | 说明 |
---|---|
customLbtn | 左边按钮插槽(deNav无左边按钮) |
customRbtn | 右边按钮插槽(deNav需要开启右边按钮) |
customSearchCon | 热门搜索列表插槽(仅searchNav) |