编程语言
首页 > 编程语言> > 微信小程序如何实现通过js修改wxml的for循环中的属性值

微信小程序如何实现通过js修改wxml的for循环中的属性值

作者:互联网

微信小程序如何实现通过js修改wxml的for循环中的属性值

要实现的效果

点击每一个活动选项,实现显示对应的操作按钮

在这里插入图片描述

具体代码

首先要在对应页面的js中给data中定义数组,如下:


  data: {
    vote_list: [{
      'vote_title': '活动1',
      'vote_show': 'none'
    }, {
      'vote_title': '活动2',
      'vote_show': 'none'
    }, {
      'vote_title': '活动3',
      'vote_show': 'none'
    }],
  },

在wxml页面中循环显示

<view class="section" wx:for="{{vote_list}}" wx:key="index">
  <view class="section_title" bindtap="voteAction" data-index="{{index}}">{{item.vote_title}}</view>
  <view class="section_title"  style="display: {{item.vote_show}};">
    <view class="section_title" bindtap="edit">编辑</view>
    <view class="section_title" bindtap="delete">删除</view>
  </view>
</view>

在js中增加voteAction 绑定事件

voteAction: function (e) {
    console.log('voteAction-e', e);
    var index = e.currentTarget.dataset.index;
    var vote_list = this.data.vote_list;
    console.log('vote_show==', vote_list[index].vote_show);
    if (vote_list[index].vote_show == 'none') {
      vote_list[index].vote_show = 'block';
    } else {
      vote_list[index].vote_show = 'none';
    }
    this.setData({
      vote_list: vote_list
    })
  },

标签:index,none,wxml,show,微信,title,list,js,vote
来源: https://blog.csdn.net/guo_qiangqiang/article/details/120222045