微信小程序页面内tab切换问题

啥都不说了直接亮代码
在wxml页面的代码是这样的

上面的tab选项
  <view class='backbone-tab'>
  <text class='{{tabArr.currentId==1?"active":""}}' id='1' data-id='1' bindtap='tab'>笔记</text>
  <text class='{{tabArr.currentId==2?"active":""}}' id='2' data-id='2' bindtap='tab'>关于我</text>
  <text class='{{tabArr.currentId==3?"active":""}}' id='3' data-id='3' bindtap='tab'>收藏</text>
  <text class='{{tabArr.currentId==4?"active":""}}' id='4' data-id='4' bindtap='tab'>活动</text>
</view>
选项对应的内容 只是举例 
<view class='item {{tabArr.currentBdid==1?"active":""}}'>
    <view class='notes-header'>
      <view>
        <image src='../../image/separate.png'></image>
        <text>所有笔记</text>
      </view> 
      <text bindtap='noteslist'>更多</text> 
    </view>
 </view>
在js页面的代码
data:{
     tabArr: {
      currentId: 1,
      currentBdid: 1
    },
}
    tab: function (e) {
    var dataid = e.currentTarget.id
    var obj = {}
    obj.currentId = dataid
    obj.currentBdid = dataid
    this.setData({
      tabArr: obj
    })
  },

首先 给wxml页面的tab选项都定义一个自定义的id data-id=“自定义id” 然后点击获得自定义的id给obj.currentid 和 obj.currentBdid 为什么一样的id要给两个对象中的不同的键呢 因为给currentid是为了让点笔记的时候给笔记一个下边框 给 currentBdid是为了点击笔记的时候 显示下面的页面 实际用一个也可以 但是我习惯用两个 下面的内容都设置为none但是初始的时候得让第一个显示 可以在data中直接设置都是1 就可以了 其他的功能如每个选项卡的内容点击跳转了 下拉刷新在这里都不做赘述了

猜你喜欢

转载自blog.csdn.net/weixin_42790916/article/details/83016298