小程序单个页面顶部导航栏设置边框?

作者站长头像
站长
· 阅读数 5

例如:小程序单个页面顶部导航栏设置边框?

回复
1个回答
avatar
test
2024-07-03

1、创建navbar组件 navbar.js文件代码如下:

const app = getApp()
Component({
  properties: {
    navbarData: {   //navbarData   由父页面传递的数据,变量名字自命名
      type: Object,
      value: {},
      observer: function (newVal, oldVal) {}
    }
  },
  data: {
    height: '',
    //默认值  默认显示左上角
    navbarData: {}
  },

  attached: function () {
    // 定义导航栏的高度   方便对齐
    this.setData({
      height: app.globalData.height
    })
  },
}) 

navbar.json代码如下:

{
  "component": true,
  "usingComponents": {
    "van-nav-bar": "@vant/weapp/nav-bar/index"

  }
}

navbar.wxml代码如下:

<view class="nav-wrap">
    <!-- // 导航栏 中间的标题 -->
    <van-nav-bar
        title-class="{{navbarData.isIndex?'nav-title':''}}"
        z-index="6"
        border="{{navbarData.border==false?navbarData.border:true}}"
        custom-style="background-color:{{navbarData.backgroundColor?navbarData.backgroundColor:'#fff'}}"
        fixed
        title="{{navbarData.title}}"
        bind:click-left="onClickLeft"
        bind:click-right="onClickRight"
    >
    </van-nav-bar>
</view>

navbar.wxss代码如下:

.nav-title {
    color: #fff;
}

2、在需要自定义导航栏的页面下设置如下(例如login登录页) (1)在app.js中主要代码如下:

onLaunch() {
            wx.getSystemInfo({
                success: (res) => {
                  this.globalData.height = res.statusBarHeight
                }
           })

      },

(2)login.js主要代码如下:

 data: {
        navbarData: {
            title: "账号绑定", //导航栏 中间的标题
        },
        height: app.globalData.height * 2 + 20
  }

(3)login.json主要代码如下:

{
  "navigationStyle": "custom",
  "usingComponents": {
     "nav-bar": "../../components/navbar/navbar"
  }
}

(4)login.wxml主要代码如下:

<view class="container">
    <view>
      <nav-bar navbar-data="{{navbarData}}"></nav-bar>
      <view style="margin-top: {{height}}px"></view>
    </view>
</view>
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容