- 弹框有两种插入模式,一种是基于写弹框的页面元素上,一种是插入至 body 元素上。
- 无论是哪种方式,在弹框请求数据渲染页面时,如果直接给弹框加loading,第一次渲染loading位置不对。如下图
loading的层级在弹框的下面
- 原因:loading一般加在弹框body内元素上,第一次渲染弹框body未找到就会加在弹框的最外层元素上,那层级自然不对。
- 解决方法:打开弹框后,再元素渲染后去打开loading
this.$nextTick(() => {
openLoading({
scope: this,
target: ['.dialogClass .el-dialog__body'],
});
})