当element-ui的el-dialog组件中包含子组件时,用refs调用子组件时的undefined问题

今天写VUE时我在element-ui的el-dialog组件中包含了一个子组件。

Editor为子组件

然后我通过$refs调用该子组件里面的方法,在控制台上却显示undefined。

init方法为dialog弹窗时才会触发的方法

'setHtml' of undefined"

因为自己之前用过refs来调用子组件方法,但是没有遇到过这种问题,很是无奈加之彷徨。

后来在度娘怀里遨游一番,发现和element-ui框架有关系,总之什么关系呢,我也说不清啦。

直接看解决方法吧。

首先,你要确保你的e-dialog组件内已经加了回调函数  @open具体使用方法点击查看element-ui官方文档

 

@open=“init()”

然后在methods里的init方法内改造之下面这个样子啦:

this.$nextTick(()=>{ xxxxxx })

其实就是加上一个this.$nextTick啦,这个回调函数的意思呢,其实简单理解就是等所有的DOM元素节点都渲染完成以后才执行其里面的方法。具体什么意思呢,请参考百度,这里就不做详细介绍了。



作者:风中凌乱的男子
链接:https://www.jianshu.com/p/d90984d6cb3a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值