欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  微信小程序

微信小程序修改data使页面数据实时更新的代码示例

程序员文章站 2022-03-11 16:51:42
...
本篇文章给大家带来的内容是关于微信小程序修改data使页面数据实时更新的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

需求:通过点击button修改dataList中checkResult的值并修改按钮状态。

微信小程序修改data使页面数据实时更新的代码示例

a.wxml:

<view wx:for="{{dataList}}" wx:key='index' class='list-body'>
  <view>
    <view>编码:{{item.equipCode}}</view>
    <view>设备:{{item.equipName}}</view>
    <view>测项:{{item.checkItemName}}</view>
  </view>
  <!-- wx:if设置默认选中状态 -->
  <view class='list-button' wx:if='{{item.checkResult=="正常"}}'>
    <button bindtap='change' data-index='{{index}}' data-status='' class='add' style='color:#fff'>正常</button>
    <button bindtap='change' data-index='{{index}}' data-status='异常'>异常</button>
  </view>
  <view class='list-button' wx:else>
    <button bindtap='change' data-index='{{index}}' data-status='正常'>正常</button>
    <button bindtap='change' data-index='{{index}}' data-status='异常' class='add' style='color:#fff'>异常</button>
  </view>
</view>

a.js

Page({
    data:{
        dataList:[
            {'equipCode':1001,'equipName':'打印机','checkItemName':'记录',checkResult:'正常'},
            {'equipCode':1002,'equipName':'打印机','checkItemName':'记录',checkResult:'异常'},
            {'equipCode':1003,'equipName':'打印机','checkItemName':'记录',checkResult:'正常'},
            {'equipCode':1004,'equipName':'打印机','checkItemName':'记录',checkResult:'异常'},
            {'equipCode':1005,'equipName':'打印机','checkItemName':'记录',checkResult:'正常'}
        ]
    },
    change: function(e) {
        var changeData = 'dataList['+e.target.dataset.index+'].checkResult';
        if (e.target.dataset.status == '正常') {
          this.setData({
            [changeData]: '正常'//修改状态,前端页面数据也会改变
          })
        } else {
          this.setData({
            [changeData]: '异常'
          })
        }
    },
})

上面示例通过this.setData修改data中的值,实现数据与前端页面保持一直,相当于vue中的双向数据绑定。
如果对数据一致性没有要求的话还可以使用this.data.Object进行修改和取值。

以上就是微信小程序修改data使页面数据实时更新的代码示例的详细内容,更多请关注其它相关文章!

相关标签: 小程序