如何在el-dialog中嵌入一个div,撑满el-dialog,随着el-dialog的变化而变化
时间: 2023-10-14 13:30:37 浏览: 255
elementui更改el-dialog关闭按钮的图标d的示例代码
5星 · 资源好评率100%
你可以在 `el-dialog` 中添加一个 `div`,并设置其 `position` 为 `absolute`,以实现撑满 `el-dialog` 的效果,代码如下:
```html
<template>
<el-dialog>
<div class="content"></div>
</el-dialog>
</template>
<style>
.content {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
</style>
```
然后,你可以使用 `watch` 监听 `el-dialog` 的变化,以动态更新 `content` 的大小,代码如下:
```javascript
<script>
export default {
data() {
return {
dialogWidth: null,
dialogHeight: null
}
},
watch: {
'$refs.dialog': {
handler(val) {
this.dialogWidth = val.$el.clientWidth;
this.dialogHeight = val.$el.clientHeight;
},
immediate: true
},
dialogWidth(val) {
this.$nextTick(() => {
this.$refs.content.style.width = val + 'px';
});
},
dialogHeight(val) {
this.$nextTick(() => {
this.$refs.content.style.height = val + 'px';
});
}
}
}
</script>
```
在上述代码中,我们使用了 `$refs` 获取 `el-dialog` 和 `content` 的引用,并通过 `$nextTick` 等待 DOM 更新后,动态设置 `content` 的宽高,从而实现了 `content` 随着 `el-dialog` 变化而变化的效果。
阅读全文