Skip to content

顶部操作条设置属于自定义导航栏,接下来会给大家讲解配置。

自定义操作条(导航栏)

  1. 导航栏作为常用组件 color-ui 里有做简单封装,你也可以直接复制代码结构自己修改,达到个性化目的。

  2. App.vue 获得系统信息

    js
    onLaunch: function() {
        uni.getSystemInfo({
            success: function(e) {
                // #ifndef MP
                Vue.prototype.StatusBar = e.statusBarHeight;
                if (e.platform == 'android') {
                    Vue.prototype.CustomBar = e.statusBarHeight + 50;
                } else {
                    Vue.prototype.CustomBar = e.statusBarHeight + 45;
                };
                // #endif
                // #ifdef MP-WEIXIN
                Vue.prototype.StatusBar = e.statusBarHeight;
                let custom = wx.getMenuButtonBoundingClientRect();
                Vue.prototype.Custom = custom;
                Vue.prototype.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
                // #endif		
                // #ifdef MP-ALIPAY
                Vue.prototype.StatusBar = e.statusBarHeight;
                Vue.prototype.CustomBar = e.statusBarHeight + e.titleBarHeight;
                // #endif
            }
        })
    },
  3. 需要设置导航栏的页面配置 pages.json 配置取消系统导航栏,如下配置:

    js
    "globalStyle": {
        "navigationStyle": "custom"
    },
  4. 复制 color-ui 代码结构可以直接使用,注意全局变量的获取。

  5. 使用封装,在 main.js 引入 cu-custom 组件,cu-custom 组件里可以根据自己的需求来自定义。

    vue
    import cuCustom from './colorui/components/cu-custom.vue'
    Vue.component('cu-custom',cuCustom)
  6. 对应的页面 index.vue 可以直接调用即可。

    vue
    <cu-custom bgColor="bg-gradual-blue" :isBack="true">
        <block slot="backText">返回</block>
        <block slot="content">导航栏</block>
    </cu-custom>
  7. 以下是对应属性参数,自定义也可基于官方封装好的。

    参数作用类型默认值
    bgColor背景颜色类名String''
    isBack是否开启返回Booleanfalse
    isCustom是否开启左侧胶囊Booleanfalse
    bgImage背景图片路径String''
    slot块作用
    backText返回时的文字
    content中间区域
    right右侧区域(小程序端可使用范围很窄!)

使用原生小程序开发

从现有项目开始

下载源码解压获得/demo,复制目录下的 /colorui 文件夹到你的项目根目录

App.wxss` 引入关键Css `main.wxss` `icon.wxss
@import "colorui/main.wxss";
@import "colorui/icon.wxss";
@import "app.css"; /* 你的项目css */
....

从新项目开始

下载源码解压获得/template,复制/template并重命名为你的项目,导入到小程序开发工具既可以开始你的新项目了

使用自定义导航栏

导航栏作为常用组件有做简单封装,当然你也可以直接复制代码结构自己修改,达到个性化目的。

App.js 获得系统信息

onLaunch: function() {
  wx.getSystemInfo({
    success: e => {
      this.globalData.StatusBar = e.statusBarHeight;
      let custom = wx.getMenuButtonBoundingClientRect();
      this.globalData.Custom = custom;  
      this.globalData.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
    }
  })
},

App.json 配置取消系统导航栏,并全局引入组件

"window": {
  "navigationStyle": "custom"
},
"usingComponents": {
  "cu-custom":"/colorui/components/cu-custom"
}

page.wxml 页面可以直接调用了

<cu-custom bgColor="bg-gradual-pink" isBack="{{true}}">
  <view slot="backText">返回</view>
  <view slot="content">导航栏</view>
</cu-custom>
参数作用类型默认值
bgColor背景颜色类名String''
isBack是否开启返回Booleanfalse
isCustom是否开启左侧胶囊Booleanfalse
bgImage背景图片路径String''
slot块作用
backText返回时的文字
content中间区域
right右侧区域(小程序端可使用范围很窄!)

Released under the MIT License.