使用elementUI遇到的错误,在网上找了半天,没有解决办法,官方文档也不够详细。场景需要在对话框关闭或者取消的时候重置表单,但是Vue编译失败。网上说找不到表单对象是因为表单还没有渲染到DOM中,导致:“TypeError:Cannotreadproperty'resetFields'ofUndefined”网友提供的解决方案:如果是第一个非-清空验证:if(this.$refs['dictForm']!==undefined){this.clearForm();//封装清空操作}或者使用Vue自带的特性(DOM渲染后执行):this.$nextTick(()=>{this.$refs.addForm.resetFields();})这个方案试了上面的方案还是不行,所以大概率是代码设计的问题。官方提供了关闭功能(摘自官网):before-close仅??在用户通过点击关闭图标或遮罩关闭Dialog时起作用。如果在footernamedslot中添加关闭Dialog的按钮,则可以在按钮的点击回调函数中添加before-close逻辑。由于我的误会,把close函数和before-close属性混在一起,导致Vue编译不通过。下面直接贴代码:Vue代码:
