vue 中 refs的问题

clipboard.png

clipboard.png

因为外面套了一次el-dialog。就获取不到this.$refs.form了,

以前下的demo vue-admin-master中是可以这样的

不知道是不是vue版本更新或者是ElementUI版本更新才有这样的问题的?

谁碰见过这个问题。

阅读 3.6k
4 个回答

m-oder是另一个组件吧,去组件内部操作

  1. m-orderorders 的子组件 或全局组件。
  2. 组件内部的内容会被填到组件的插槽内,不过 vue 奉行的是在哪儿编译,作用域就在那儿,所以插槽内容的作用域在 orders 组件中。

因为你说 this.$refs 获取不到 form 组件实例,所以我判断,你是在 m-orderel-dialog 组件实例内执行这条语句,这当然是获取不到的,你需要在 orders 实例内调用 this.$refs.form 才能获取到,如果是在其他组件中想要获取到,你需要找到当前组件与 orders 组件的关系,比如说父子关系组件,可以使用 this.$parent.$refs 属性,如果orders是根组件,可以用 this.$root.$refs ...等等。

以上仅供参考,没有实际测试,据我的经验,应当如此,如果有错欢迎指正~

另:可以通过在addOrUpdateUser中加入this.$refs['editForm'].clearValidate();,editForm中加入
clearValidate() {
this.$refs['form'].clearValidate();
},
去除上一次的校验信息

新手上路,请多包涵
this.$nextTick(() => {
    ...
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题