收藏
回答

使用Vant组件库,在van-tabs上绑定click事件回调参数取用的问题?

上图这个是组件库给的,然后现在有个问题。。我使用for循环填补标签内容如下:

 <van-tabs active="{{currentTab}}" color="#0F4C75" sticky animated swipeable bind:click="onClick">
    <van-tab wx:for="{{tags}}" wx:key="tags" title="{{item}}" style="background-color:#FAFAFA;">
      <dv_vant items="{{devices_type}}"></dv_vant>
    </van-tab>
</van-tabs>

tags放在data里面,循环没有问题,但是想要使用标签内容(这里用event.detail.title)进行数据筛选之后显示,没办法筛选成功,改成普通的筛选没有问题。可能数据渲染这部分理解的不是很好,求大神解答QAQ

var types;

data: {
    tags: [
     "水域救援", "丛林救援", "个体保护", "通信信息", "灭火抢险", "医疗救护", "交通运输"
    ]} ,

onClick(event) {
    types = event.detail.title;
    console.log(types);  //这里的打印没有问题
  },

onLoad: function(options) {
    //根据标签获取数据
    db.collection("device_info").where({
      dv_type: types      //这个不行  
    //  dv_type : "水域救援"   //这个可以
    }).get().then(res => {
      var devices_type = res.data;
      that.setData({
        devices_type: devices_type
      });
    })
  }

打印的信息没有问题,不知道是数据格式的问题还是语法的问题【哭泣.jpg】在线等,挺急的!!如果想用获取到的event.detail.title进行筛选应该怎么做呢?(云数据库集合“device_info”里面的数据类型如图所示:

最后一次编辑于  2020-04-26
回答关注问题邀请回答
收藏

1 个回答

  • brave
    brave
    2020-04-26
    onClick(event) {
        this.getInfo(event.detail.title);
    },
    getInfo (types) {
        //根据标签获取数据
        db.collection("device_info").where({
          dv_type: types
        }).get().then(res => {
          var devices_type = res.data;
          that.setData({
            devices_type: devices_type
          });
        })
    }
    

    首先你放在onLoad周期的时候,types并没有赋值。

    2020-04-26
    有用 1
    回复 2
    • 翼谖  ᐕ)⁾⁾
      翼谖 ᐕ)⁾⁾
      2020-04-26
      明白了谢谢
      2020-04-26
      回复
    • 翼谖  ᐕ)⁾⁾
      翼谖 ᐕ)⁾⁾
      2020-04-26
      调试成功,开心!!再次万分感谢!!!
      2020-04-26
      回复
登录 后发表内容
问题标签