之前用過RN/flutter/小程序等語言。他們都是通過setState({})
(小程序setData
)來更新視圖。而這uni app 的話我都試過了,沒反應。。。
后來百度了好久才解決。。。
也就是
this.$set()
方法來解決。格式this.$set( target, key, value )
this.$set(this.items[0], 'message', 'one1', );
例如:
export default {
data () {
return {
title: "Hello",
items: [
{ message: "one", id: "1" },
{ message: "two", id: "2" },
{ message: "three", id: "3" }
]
}
},
/**
* 更改題目-title
*/
updateTitle() {
this.title = "你要改的新值"
},
/**
* 更改數組的元素
*/
updateItems() {
//格式this.$set( target, key, value )
//第一種方式
this.$set(this.items[0], 'message', 'one1', ); //改成數字類型就不用了加引號
//第二種方式
this.$set(this.items, 0, {
message: "one3",
id: "13"
})
}
}