程序媛刘刘 2023-07-12 21:06 采纳率: 22.2%
浏览 25
已结题

el-dialog缓存问题

vue2.0 项目使用element ui 框架,封装了el-dialog组件,在el-dialog组件使用时显示另外一个组件(富文本编译器组件)的页面,但是我在问题的列表,多次点击编辑使用el-dialog显示页面时,发现数据没有实时更新,一直是第一次的数据,查了很久没有解决办法,求解决办法

  • 写回答

3条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-13 08:26
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    • 以下回答来自chatgpt:

      解决el-dialog缓存问题的办法:

      根据参考资料中的实现思路和代码示例,可以采取以下步骤解决el-dialog缓存问题:

      1. 在el-dialog组件中,使用v-if指令判断dialog是否可见,根据条件设置对应的属性值。在本例中,可以将visible属性绑定到data中的变量addDeviceDialogVisible上,并在对话框展示时将addDeviceDialogVisible设置为true。

      2. 在el-dialog组件中,设置destroy-on-close属性为true,这样在关闭dialog时会销毁dialog中的元素。

      3. 在弹出dialog的按钮点击事件中,添加逻辑来清空对话框中的数据。可以使用resetFields()方法来重置表单。如果需要在获取到表单对象后立即执行resetFields()方法,则可以使用setTimeout()方法来确保表单对象已加载。示例代码:

      addDeviceBtn() {
        this.addDeviceDialogVisible = true;
        setTimeout(() => {
          this.$refs.addDeviceForm.resetFields();
        }, 0);
      },
      
      1. 在子组件中的el-dialog组件中添加:key属性,并将其绑定到一个变量timer上。这样,每次打开对话框时,通过改变timer的值来重新渲染子组件。示例代码:
      <el-dialog
        title="新增"
        :visible.sync="addDeviceDialogVisible"
        :append-to-body="true"
        top="1vh"
        width="70%"
        :key="timer"
        @destroy-on-close="true"
      >
        <addDevice
          ref="addDeviceForm"
          @addDeviceResult="addDeviceResult"
          @quxiaoClickResult="quxiaoClickResult"
        ></addDevice>
      </el-dialog>
      
      1. 根据需要,在对话框组件(addDevice)的确认按钮点击事件(confirmCreateNewItem)中,处理对话框中的数据并进行提交/处理。

      通过以上步骤,应该能够解决el-dialog缓存问题,并实时更新展示数据。

      参考资料: - Element UI Dialog destroy-on-close - Element UI Dialog - Element UI form - Vue.js官方文档


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月13日
  • 创建了问题 7月12日

悬赏问题

  • ¥15 Java与Hbase相关问题
  • ¥20 bash代码推送不上去 git fetch origin master #失败了
  • ¥15 LOL外服加入了反作弊系统,现在游戏录像rofl文件离线都无法打开
  • ¥45 工程软件单片机设计课题要求
  • ¥15 在centos7安装conda
  • ¥15 c#调用yolo3 dll文件获取的数据对不上
  • ¥20 WPF 如何实现多语言,label 和cs(live Charts)中是否都能翻译
  • ¥15 STM32F103上电短路问题
  • ¥15 打开软件提示错误:failed to get wglChoosePixelFormatARB
  • ¥15 (标签-python|关键词-char)