解决思路:
-
在接受后端返回的数据时,给每个数据添加一个属性isLoading
这里添加属性必须使用this.$set(item, 'isLoading', false)这样的形式,否则不生效
原因:
因为 vue会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 vue 转换它,这样才能让它是响应的。
如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。 -
给按钮绑定一下该数据的isLoading,使用v-model=“scoped.row.isLoading”
-
具体代码如下:
el-table-column添加自定义图标按钮、添加按钮的加载loading效果
点击按钮触发的事件、按钮loading效果的开启和关闭使用

Vue中动态属性与加载效果

本文介绍在Vue中如何为后端返回的数据动态添加isLoading属性,并实现按钮的加载效果。通过this.$set方法确保属性的响应式特性,进而使视图能够正确更新。
2393





