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

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

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

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

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

1071270355-5c0e3147d83f0_articlex.png

a.wxml:

<view wx:for="{{dataList}}" wx:key=&#39;index&#39; class=&#39;list-body&#39;>
  <view>
    <view>编码:{{item.equipCode}}</view>
    <view>设备:{{item.equipName}}</view>
    <view>测项:{{item.checkItemName}}</view>
  </view>
  <!-- wx:if设置默认选中状态 -->
  <view class=&#39;list-button&#39; wx:if=&#39;{{item.checkResult=="正常"}}&#39;>
    <button bindtap=&#39;change&#39; data-index=&#39;{{index}}&#39; data-status=&#39;&#39; class=&#39;add&#39; style=&#39;color:#fff&#39;>正常</button>
    <button bindtap=&#39;change&#39; data-index=&#39;{{index}}&#39; data-status=&#39;异常&#39;>异常</button>
  </view>
  <view class=&#39;list-button&#39; wx:else>
    <button bindtap=&#39;change&#39; data-index=&#39;{{index}}&#39; data-status=&#39;正常&#39;>正常</button>
    <button bindtap=&#39;change&#39; data-index=&#39;{{index}}&#39; data-status=&#39;异常&#39; class=&#39;add&#39; style=&#39;color:#fff&#39;>异常</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使页面数据实时更新的代码示例的详细内容。更多信息请关注PHP中文网其他相关文章!

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