v-for中对循环的对象内容进行修改时无法实时同步到页面
这里使用iview框架,实现点击按钮时使spin加载中出现
<Card class="card" v-for="(item, index) in List" :key="index">
<span class="headBtn" @click="refresh(item,index)">
<Icon type="ios-refresh" size="20"></Icon>
</span>
<span style="font-size: 14px; color: rgba(0, 0, 0, 0.45)">
{{ item.itemName }}
</span>
<Spin size="large" fix v-if="item.spinShow"></Spin>
</Card>
按照平时的赋值,只能修改对象内的数值,直接修改不能被vue监听到
refresh(v,index) {
console.log(v,index);
//v为循环体的内容,index为循环的编号以此确认修改的对象
this.$set(v,'spinShow',true)
//这里v也就是this.List[index]作为循环的对象,spinShow表示对象中需要修改的属性,true表示要替换的内容
//...调接口等后续操作
}