需求前提,后台对接接口,然后加收起展开功能,丢给我了,功能如图:
第一想到就是使用变量操作显隐,在不改动接口的情况下,自己手动给总数据添加了一个属性和属性值:
this.tab1List.forEach((item) => {
item.isShowData = false;
});
this.tab1List[0].isShowData = true;
// 需求是第一个数据默认展开,所以单独赋值了true
<van-col
span="6"
v-show="item.isShowData"
@click="handleUp(item, index)"
class="text-right"
>收起</van-col
>
<van-col
span="6"
v-show="!item.isShowData"
@click="handleDown(item, index)"
class="text-right"
>展开</van-col>
// 动态展示区域:
<van-row class="productTitle" v-show="item.isShowData">
<van-col span="12" class="productTitle_left text-left"
>机构件</van-col
>
<van-col span="12" class="productTitle_right text-right">
<div class="productTitle_box">
<span class="productTitle_txt">排产</span>
<span class="productTitle_time">{{ item.BilDate }}</span>
</div>
</van-col>
</van-row>
// js部分
// 收起
handleUp(item, id) {
item.isShowData = false;
// 这是重点:必须使用Item,不然更新不了还报错,(如下图)
this.$set(this.tab1List, id, item);
},
// 展开
handleDown(item, id) {
item.isShowData = true;
this.$set(this.tab1List, id, item);
},
我尝试过直接赋值:
this.tab1List[id].isShowData = false 或者this.tab1List[id].isShowData = true
控制台打印的值变化是正确的,但是试图没有更新
<fond color=green>某女:好冷,我:又想钻我怀里?哈哈啊哈哈</font>