uni-app 集合数据修改后没有重新渲染

uni-app 集合数据修改后没有重新渲染

开发环境 版本号 项目创建方式
HbuilderX 3.1.12

操作步骤:

this.list[0].name=’’


# 预期结果:

数据改变


# 实际结果:

没有渲染页面

1 回复

更多关于uni-app 集合数据修改后没有重新渲染的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 中直接通过索引修改数组元素(如 this.list[0].name='')不会触发视图更新,因为 Vue 的响应式系统无法检测这类直接赋值操作。需要使用 Vue.set 或数组的 splice 方法。

解决方案:

  1. 使用 Vue.set
this.$set(this.list[0], 'name', '');
  1. 使用 splice 重新设置数组元素:
this.list.splice(0, 1, { ...this.list[0], name: '' });
  1. 重新赋值整个数组(若数据量不大):
this.list[0].name = '';
this.list = [...this.list];
回到顶部