在uni-app构建选项卡时,方法中改变的数据无法更新v-if中的布尔值
在函数中打印出来是修改成功了,但在页面中并没有进行响应
布局如下:
<swiper :current="tabCur" class="swiper-box" duration="700" circular @change="changeDrawList"> <swiper-item class="tab-content" v-for="(items,indexs) in drawList" :key="indexs"> <scroll-view style="height: 100%; overflow: hidden;" scroll-y @scrolltolower="onBotton"> <!-- 加载loading图标 --> <view class="content" :style="{height:height1 + ‘px‘}" v-if="items.loadModal"> <view class="cu-load"> <view class="gray-text"> <view class="loading"> <text></text> <text></text> <text></text> <text></text> <text></text> </view> </view> </view> </view> <block v-else> <view class="ma-desc"> <text class="te-desc">  {{items.message}}</text> <text class="te-author">{{items.createTime}}</text> </view> <!-- 作品区域 --> <view class="draw-list"> <view class="drawItem" v-for="item in items.data" :key="item.draw_id"> <view class="draw"> <!-- 短边优先 --> <image :src="item.draw_image_url" mode="aspectFill" lazy-load></image> </view> <view class="drawAuthor"> <image :src="item.draw_tou"></image> <text class="name">{{item.draw_name}}</text> </view> </view> </view> </block> </scroll-view> </swiper-item> </swiper>
vue中的操作:
getInfo() { this.drawList[this.tabCur] = List;
// 应完成请求后的回调中设置 setTimeout(() => { // this.drawList[this.tabCur].loadModal = false; this.$set(this.drawList[this.tabCur],"loadModal",false); //这个也搞不定,只成功修改了数组中的对象值
this.$forceUpdate(); //救星 强制刷新 }, 1500); }
原文:https://www.cnblogs.com/gkzb/p/11427374.html