PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

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

不言
不言 转载
2018-12-14 10:23:46 10379浏览

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

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

1071270355-5c0e3147d83f0_articlex.png

a.wxml:

<view>
  <view>
    <view>编码:{{item.equipCode}}</view>
    <view>设备:{{item.equipName}}</view>
    <view>测项:{{item.checkItemName}}</view>
  </view>
  <!-- wx:if设置默认选中状态 -->
  <view>
    <button>正常</button>
    <button>异常</button>
  </view>
  <view>
    <button>正常</button>
    <button>异常</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进行修改和取值。

声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除