在popover页面进行操作,点击按钮后,想加一个遮罩层(类似显示【加载中】),让画面的上所有按钮在加载的这段时间内不可点击。该如何实现?
在popover的父页面加遮罩成功了,但是没有把popover页面也给罩住,所以那个方案暂时不行。
在popover页面进行操作,点击按钮后,想加一个遮罩层(类似显示【加载中】),让画面的上所有按钮在加载的这段时间内不可点击。该如何实现?
在popover的父页面加遮罩成功了,但是没有把popover页面也给罩住,所以那个方案暂时不行。
使用v-loading指令即可实现
<el-popover>
<div v-loading="loading">
这是你的自定义pop内容
<el-button @click="loading = true">加载</el-button>
<div>
</el-popover>
loading 没有覆盖所有元素,意味着遮罩层和 popover 不在同一层级,或者是 loading 的 z-index 值小于 popover,通常使用组件库自带的 loading 不会存在这种问题。
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
在popover的父页面加遮罩成功了,但是没有把popover页面也给罩住
看起来像是遮罩层的 z-index 没有 popover 的大,所以没有盖上。
如果使用了 popover 出来时,数据已经完善,只是你想加个额外的 loading,那可以使用 element-ui 的 v-loading。
如果数据是 popover 弹出时同步加载,那数据加载后往往需要重新渲染弹出框,不然弹出框可能会撑成到奇怪的位置。那就得控制在 loading 结束后,重新触发一次弹出框
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
如果使用的是vue框架,应该在点击按钮的时候调用this.$loading(),然后关闭用this.$loading().close()就可以吧