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 方法。
解决方案:
- 使用
Vue.set:
this.$set(this.list[0], 'name', '');
- 使用
splice重新设置数组元素:
this.list.splice(0, 1, { ...this.list[0], name: '' });
- 重新赋值整个数组(若数据量不大):
this.list[0].name = '';
this.list = [...this.list];

