表单验证问题
element中表单验证很简单,但是中也有坑,至于官方文档我也没找到解决办法,都是从网上和各路大神那里搜刮来的,其中有验证的坑下方图片中验证需要的属性其中第一个model和第三个ref为你表单的绑定数据第二个rules为你的验证规则


这里的传值为你的表单数据的对象




表单清空和重置
重置这里就不说了,官网写的很详细可以CV大法,
重置的第二个方法,此问题仅以为我自己或者不会的提供方便,大神绕道, 首先我们的问题是在表单关闭的时候清空表单,这里的表单我使用的是element的对话框包裹的所以可以直接使用对话框的事件 这里我们可以使用关闭事件,



上图中的nextTick,则可以在回调中获取更新后的DOM(dom的改变是发生在nextTick()之后),这个方法作用是当数据被修改后使用这个方法,我加这个方法是因为我的resetFields()方法报错,朋友说加这个就可以了
resetFields默认值
这里还有一个坑就是resetFields默认值问题
下图中的添加和编辑我用的是一个form框所以,这里会遇到一个问题,先进行编辑再新增,使用this.$refs[formName].resetFields();没有效果。 原因大概是因为,resetFields()方法只是将表单赋为初始值,表单的初始值是在mounted中赋给dom,也就是第一次渲染的时候。因此如果第一次是编辑,我将回显的信息赋值给表单,它就会认为这是初始值,所以不论怎么调用都会有种reset无效的感觉。

方法一(简单粗暴):
使用$nextTick再执行赋值注意:这里的editobj变量是为了解除数据的双向绑定因为如果不这样做会出现你更改编辑框数据页面会立即同时发生变化(是在你没有点击确认更改的时候也就是说你一边改,页面一边发生变化)
