最新版本的uni-ui 和hbx编译器
uni-popup 会在赋值新数据的适合,自动消失,只留下遮罩
我给data的数据 test_list.push一个对象,popup弹框就消失了,只有遮罩
动态修改字符串没问题
数组动态添加一个对象就出bug了
目前测试了h5和app-nvue
app-nvue没问题,h5有问题
最新版本的uni-ui 和hbx编译器
uni-popup 会在赋值新数据的适合,自动消失,只留下遮罩
我给data的数据 test_list.push一个对象,popup弹框就消失了,只有遮罩
动态修改字符串没问题
数组动态添加一个对象就出bug了
目前测试了h5和app-nvue
app-nvue没问题,h5有问题
我这里实测是发现如果 uni-popup 组件紧挨着上面的一个组件,上面的组件由于数据变动发生了变化,就会导致紧挨着的下面的 uni-popup 组件出现这种内容消失,只剩遮罩层的问题。
实在是太奇葩了。
重现方法,注意看下面的代码 uni-popup 紧挨着上面的 view,页面加载后立即弹出 uni-popup,两秒后上面的 view 可见性发生了变化,然后 uni-popup 就出现了这个问题:
<template>
<view>
<view class="i-will-change" v-if="somethingDisplay">Yes</view>
<uni-popup ref="myPopup">Hello World</uni-popup>
</view>
</template>
<script>
export default {
data() {
return {
somethingDisplay: false
};
},
onLoad() {
this.$nextTick(() => {
this.$refs.myPopup.open();
setTimeout(() => {
this.somethingDisplay = true;
}, 2000);
});
}
};
</script>
解决的办法也很简单,就是 uni-popup 不要挨着会变化的元素,比如把 view.i-will-change 再套进一个 view 里就行了。
这个问题实在是太太奇葩了。
我这边也有这个问题,最后自己重写的弹框
anlogo
重现了这个问题,并且按照你的做法解决了问题,谢谢
2023-08-24 11:58
2***@qq.com
这 bug属实牛逼, 只要更新的dom不要和弹窗平级就可以了
2023-11-09 13:32