微信小程序:如何用setData修改数组?
本文介绍了微信小程序:如何用setData修改数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
学习微信小程序的小白一枚,在操作array更新时,遇到问题:
html如下:
<view class="todo-item" wx:for="{{todos}}" bindtouchend="showDeleteBtn" id="{{index}}">
...
<icon type="clear" color="red" hidden="{{item.isDelete? false: true}}"></icon>
</view>
JS如下:
Page({
data: {
todos: [{id: 0, text:'abc', isDelete: false}]
},
//事件处理函数
...
showDeleteBtn: function(event){
var index = event.currentTarget.id;
var deletedTodo = "todos["+index+"].text";
this.setData({
deletedTodo: true
});
}
})
根据文档,如果修改array里面某个具体值,是可以采用'array[0].text':'changed data'
这种格式的:
可为什么在我的例子里面,isDelete属性值就是不会被修改呢?
到底程序错在那里?
求大神解答,万分感谢!!!
解决方案
这样试试:
showDeleteBtn: function(event)
{
var index = event.currentTarget.id;
this.data.todos[index].isDelete = true;
this.setData(
{
todos: this.data.todos
});
)
这篇关于微信小程序:如何用setData修改数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文