在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