(已解決)uni-app 中對 data 的修改視圖未更新的坑


之前用過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"
		})
	}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM