element-plus的el-dialog组件添加v-loading失败
2024年11月6日
87
在element-plus的el-dialog中添加loading,因为弹窗的数据是请求出来的,添加一个加载中用户体验会好些,但是我在使用v-loading不成功,并且控制台给出了提醒,如下Runtime directive used on component with non-element root node. The directives will not function as intended. 意思是这个指令要用在根节点,el-dialog好像是渲染出来的吧,这点我不太懂,这样的话不能直接使用v-loading但是还是有办法的就是以服务的方式调用,这里官网有提到,
首先是引入
import { ElLoading } from 'element-plus'
然后直接开始写就好了,target传的是类名这个官网有提到,可以使用ref获取dom传给他,重要的是这个定时器不添加的话获取不到元素,下面就是使用close()关闭弹窗
let loadingInstance: any
//-------
setTimeout(() => {
loadingInstance = ElLoading.service({
target: '.el-dialog'
})
}, 10)
//-------
loadingInstance?.close()
最后这个service里面是有很多参数的可以配置的,可以自行去element-plus的官网查看
热门文章