dialog打开时重新渲染

简介: dialog打开时重新渲染

Vue 中打开 dialog 常用的方法是使用 el-dialog 控件。当 dialog 打开时,常常需要重新渲染对应的内容。这个功能可以通过监听 visible 属性实现。


具体实现方法如下:


el-dialog 控件上监听 visible 属性

<template>
  <el-dialog :visible.sync="dialogVisible" @visible-change="handleVisibleChange">
    <!-- 对话框内容 -->
  </el-dialog>
</template>
 
<script>
export default {
  data() {
    return {
      dialogVisible: false
    };
  },
  methods: {
    handleVisibleChange(visible) {
      if (visible) {
        // 对话框打开时进行重新渲染
      }
    }
  }
};
</script>


在 handleVisibleChange 方法中实现重新渲染的逻辑


下面是一个渲染当前时间的示例代码:

<template>
  <el-dialog :visible.sync="dialogVisible" @visible-change="handleVisibleChange">
    <p>当前时间是:{{ currentTime }}</p>
  </el-dialog>
</template>
 
<script>
export default {
  data() {
    return {
      dialogVisible: false,
      currentTime: null
    };
  },
  methods: {
    handleVisibleChange(visible) {
      if (visible) {
        this.currentTime = new Date().toLocaleString();
      }
    }
  }
};
</script>


在这个例子中,当 dialog 显示时,handleVisibleChange 方法将重新渲染并更新 currentTime 的值。


需要注意的是,当 dialog 打开后,如果需要再次重新渲染对话框内容,handleVisibleChange 方法可能会被多次调用。如果重新渲染逻辑非常耗时,可能会造成性能问题。因此,建议在实现重新渲染逻辑时,尽可能避免出现问题。


目录
打赏
0
0
0
0
2
分享
相关文章
使用layui弹框实现添加时,当添加成功之后如何进行关闭当前窗口刷新父页面的数据
使用layui弹框实现添加时,当添加成功之后如何进行关闭当前窗口刷新父页面的数据
js全屏,监听页面是否全屏
js全屏,监听页面是否全屏
117 4
layui打开iframe窗口不刷新的问题
layui打开iframe窗口不刷新的问题
178 0
js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
787 0
|
9月前
|
vue element MessageBox.prompt this.$prompt组件禁止显示右上角关闭按钮,取消按钮,及点击遮罩层关闭
vue element MessageBox.prompt this.$prompt组件禁止显示右上角关闭按钮,取消按钮,及点击遮罩层关闭
192 0
element-ui:多个el-dialog弹框切换会出现闪烁
element-ui:多个el-dialog弹框切换会出现闪烁
461 0
【JavaScript】一个按钮控制显示隐藏(toggle)
【JavaScript】一个按钮控制显示隐藏(toggle)
138 0
【JavaScript】一个按钮控制显示隐藏(toggle)