uni-app - 改变数据后视图无更新变化解决方案,更改数据不刷新 uni-app坑

本文探讨了在uni-app中遇到数据改变但视图未更新的问题,提供了两种解决方案,尤其针对在组件中修改数据的情况。作者分享了在尝试解决此问题时的经历,指出更新父组件传递的数据可以有效解决子组件数据不刷新的问题。

前言

当页面数据全部请求完毕,但用户操作导致数据改变时,视图并未按照最新数据进行更新。

有时候,我们动态改变数据的时候发现视图并未改变,(或者h5改变小程序并为改变)

常见于在 methods函数或其他位置中,改变data数据的时候,虽然数据变了,但视图没有更新,

本文提供两个解决方案,我上uni-app付费花了9.9元购买,(如下截图)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

真的付钱了 好气好气

100%解决该问题,非常好用,

比如下面的代码,给data赋值后并没有在页面上有反应(实际console打印数据已经变了)∶

1  this.name = ‘最新值';
2  console.log(this.name)//最新值3
3  //但页面上却还是原来的值、、(案列、或者数组元素实际已经修改,但视图并为修改)

解决方案

第一种情况:

// 监听用户更改昵称
api function()
{
	// 重新赋值
	this.name = '最新值';
	
	// 强制更新
	this.$forceUpdate()
}

第二种情况:
(这里是我当时花费了9.9并没有解决掉办法,气死我了当时。)

办法就是,你修改得内容很可能是在组件上 ,在组件上得话第一种方法似乎是不会起到效果得、所以我当时想到得办法是 更新父级传入得数据list

子组件:

this.$emit('listUpdate',this.list);	//数据返回父级重新更新数据

父页面:

//组件
<xxx :list="list"  @listUpdate="listUpdate"></xxx>

methods: {
			//list列表跟新
			listUpdate(e){
				this.list = e;
				// console.log('listUpdate',e)
			},
}


//就这样两种解决方案  100%是可以解决这种视图不更新得情况,拿走不谢  我tm
//真的foul1


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值