收藏
回答

关于使用url带参数使tab激活问题

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 工具 6.7.0 2.00

- 当前 Bug 的表现(可附上截图)


- 预期表现

预期应该根据我的url中带的参数激活相应的tab栏内容

- 复现路径

- 提供一个最简复现 Demo

需求描述:我自定义了一个tab栏,默认激活为第0个tab,其他页面跳入该tab栏页面,需要根据带的url参数进行设置到底是哪个tab栏激活。demo为b页面调到a页面,然后就在控制台中报错如截图。该如何解决?

demo:

a.js:

data:{

    currentTab:0,

    tablist:[{name:"首页"},{name:"首页1"},{name:"首页2"},{name:"首页3"}]

},

onLoad: function (params) {

    let _this = this;

    if (params.currentTab){

        _this.setData({

        currentTab: params.currentTab

        });

    }

},

tabItemClick: function(e){

    let _this = this;

    _this.setData({

        currentTab: e.currentTarget.dataset.select

    })

}

a.wxml

<view class="footer-item" wx:for="{{tablist}}" wx:key="{{index}}" data-select="{{index}}" bindtap="tabItemClick">

<text class="footer-item-name {{index==currentTab?'active':''}}">{{item.name}}</text>

</view>

b.wxml

<navigator  url="../../a/a?currentTab=2"></navigator >

回答关注问题邀请回答
收藏

1 个回答

  • dove
    dove
    2018-07-13


    <text class="footer-item-name {{index==currentTab?'active':''}}">{{item[index].name}}</text>

    //{{item[index].name}}这个错了没加[index]


    2018-07-13
    有用 1
    回复 2
    • 2018-07-13

      你好,你确定吗?为什么用[index]呢?item已经指向了list的元素,你再加下标是显示不出来name的。

      2018-07-13
      回复
    • dove
      dove
      2018-07-13回复

      我错了

      2018-07-13
      回复
登录 后发表内容