Vue3.0使用antd时,打开Modal框时无法获取里面的dom节点

问题:打开模态框之前,如果原本后台存有值需要,如何填写到编辑框里面?
在这里插入图片描述

测试方法1:在打开模态框的方法里面,获取dom节点然后innerHTML,比如

  showModalList() {
        data.fxModel = true;
        document.getElementById("info")?.insertAdjacentHTML("afterbegin", props.fxValue);
  },

报错document.getElementById(“info”)找不到
解决方法1:Modal中有forceRender属性强制渲染Modal

   <a-modal
    v-model:visible="fxModel"
    :forceRender="true"
    @ok="fxFunHandleOk"
    title="公式编辑"
    width="900px"
  >

可以解决的小伙伴可以去试试然后洗洗睡了。
在这里插入图片描述
测试方法1的问题:因为我用到的模态框不止一处,所以我需要关闭时销毁 Modal 里的子元素,又用了

:destroyOnClose="true"

的属性,这样一来就冲突了,我还是获取不到document.getElementById(“info”)
最终解决方法:加destroyOnClose属性+nextTick方法

  <a-modal
    v-model:visible="fxModel"
    :destroyOnClose="true"
    @ok="fxFunHandleOk"
    title="公式编辑"
    width="900px"
  >
  showModalList() {
    data.fxModel = true;
      nextTick(() => {
		document.getElementById("info")?.insertAdjacentHTML("afterbegin", props.fxValue);
      });
  },
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值