微信小程序有自己的语法,修改数据我们必须要使用setData(),参数是一个key,value形式的对象。一下是我做的一个关于修改几种数据的小小记录:
1.修改单个值:
page({
data:{
resultOpacity:true,
},
change(e){
this.setData({
resultOpacity: false,
})
}
})
2.修改整个数组:
Page({
data: {
imgList:[
{
words:"这里放文字1",
number:12555,//票数
isSelect:false,//判断是否已经投票
},
{
words: "这里放文字2",
number: 18458,//票数
isSelect: false,//判断是否已经投票
},
],
},
onLoad: function () {
var that = this;
let newimgList =[];
newimgList.push({
number:that.data.imgList[index].number
})
that.setData({
imgList:newimgList
})
},
})
3.修改数组中的变量:
key值为变量的时候要用[ ]引起来。
vote:function(e){
var that = this;
var index = e.currentTarget.dataset.id;//获取当前投票的下标
var newData = 'imgList[' + index + '].number';
var isSelect = 'imgList[' + index + '].isSelect';
var selected = that.data.imgList[index].isSelect
//判断如果没有投票才能投
if (selected ==false){
that.setData({
//key值为变量的时候要用[ ]引起来
[newData]: that.data.imgList[index].number + 1,
[isSelect]: true
})
wx.showToast({
title: '投票成功!',
icon: 'none',
duration: 1000
})
}else{
wx.showToast({
title: '你已经投过票了,不能再投',
icon: 'none',
duration: 1000
})
}
}
4.修改数组中的某条数组:
修改数组中的某条数据时,key值必须要带’’(单引)号。
vote: function (e) {
var that = this;
var index = e.currentTarget.dataset.id;//获取当前投票的下标
var newData = 'imgList[' + index + '].number';
that.setData({
'imgList[0].number': that.data.imgList[index].number+1
})
},