vueform表单(vueform表单每一行都可以编辑)

http://www.itjxue.com  2023-01-27 00:14  来源:未知  点击次数: 

Vue el-form表单resetFields与clearValidate方法失效的三个坑

1.在el-form标签中 必须要绑定一个model,而且必须是:model,不能是v-model ,这个是element-ui那边规定

2.prop属性需要和上述model绑定的对象里的字段完全一致

3.调用方法是this.$refs["refName"].resetFields(),注意是 this.$refs

vue form表单开发快速模板vue-form-marking

工具地址:

GitHub地址:

线上地址:

from marking 模板分2个模板

一个模板是 fm-generate-form 用于展示从后端获取的json的数据

一个模板是 fm-making-form 用于拖拽生成json数据模板

form-marking 模板必须跟element-ui框架一起使用,其中包括拖拽的各种组件实际上是element的组件,包括筛选是否符合,都是调用了elementui的rules规则判断,包括最小值和最大值,正则,是否必填的判断

其中jsonData 是表单配置中生成的json数据,后端数据放入这个参数里,用于渲染生产form表单

editData 里放的是表单需要显示的表单数据,即表单初始化显示的初始值,以对象的形式放入,key值中input的model值。例如editData: {input_1554173787000_79900: "123"},

remoteFuncs 组件配置时配置的远端方法,保持和配置时输入的名称一致,具体方法名,可从jsonData中获取到remoteFunc的value中获取 ,可用于改变单选或者多选的默认value值,

具体改动value可以通过jsonData里props的值获取,这个一般用于获取后端参数后异步渲染value值。

当点击提交按钮时,可通过ref去调取目标模板是否校验完成 this.$refs.generateForm.getData().then(data = {// 数据校验成功// data 为获取的表单数据}).catch(e = {// 数据校验失败})

控件实际上是调用的element-ui框架里的组件库,当需要添加新的控件时,首先要在componentsConfig.js里去声明组件类型,包括type,name,icon以及options 其中type里是element-ui组件名,name是展示在左侧字段名字,icon是展示图标

图标是调用的 vue-awesome 组件库,需要用时,需要在Container.vue里important导入,方可使用。option是对这个控件做限制处理以及初始化处理具体可参考element-ui组件参数,然后需要去

WidgetFormItem.vue里添加控件模板,即拉取左侧图片到中间后,展示内容。具体写法类似于element-ui里的组件写法,没什么难度,最后只需要在GenerateFormItem.vue添加组件,这个主要是展示使用。也是最重要的一步,你所拉取的内容最终都会在这个vue里显示出来,这就是整个组件拉取的步骤。

Vue处理表单校验

1、vue使用element-ui的form表单验证

问题描述:第一次点击新增时正常,第二次新增打开弹窗后由于表单内容为空,出现验证这种情况。

解决 : this.$refs.staffForm.resetFields();//等弹窗里的form表单的dom渲染完在执行this.$refs.staffForm.resetFields(),去除验证(clearValidate),(resetField表单重置)

//打开弹窗的新增方法

addStaff() {

??????this.staffVisible =?true;//弹窗打开

??????this.$nextTick(()={

????? ???this.$refs.staffForm.resetFields()

? ? ? ? this.$refs.staffForm.clearValidate()

??????});

},

vue+el-form表单验证、提交及重置

不满足以下条件可能就出现验证不走心的状态~~~

正确实例:

童鞋们~ 你们一定也遇到过对象中的对象无法验证的情况吧

举个栗子~~

有两种方法,如下:

2.没有使用el-form表单的重置

this.$options.data()是vue实例初始化时的data数据,只读属性

el-date-picker

不允许选当前之前日期

监听计算属性

(计算属性+el-form进行表单验证)= 利用value给v-model赋值

解决方法二、

$set()方法相当于手动的去把obj.b处理成一个响应式的属性,此时视图也会跟着改变了

怎样利用Vue动态生成form表单

$formCreate 参数

rules?表单生成规则 [inputRule,selectRule,...]

options?初始化配置参数 (详细见底部 createOptions)

$formCreate.maker 组件规则生成器

除hidden外,其他配置方式全部相同.详细参考表单元素规则

props,event,slot传入参数为对象,例({key:value,...})

validate,options参入参数为数组,例([options,options,..])

hidden?生成隐藏字段

1? ?$formCreate.maker.hidden(field,value)? ?

input?生成input输入框

1? ?$formCreate.maker.input(title,field,value)? ?

radio?生成单选框

checkbox?生成复选框

select?生成select选择器

switch?生成switch开关

datepicker?生成日期选择器组件,别名date

timepicker?生成时间选择器组件,别名time

inputnumber?生成数字输入框,别名number

colorpicker?生成颜色选择器组件,别名color

cascader?生成多级联动组件

upload?生成上传组件

rate?生成评分组件

slider?生成滑块组件

$f 实例方法

formData()?获取表单的value

getValue(field)?获取指定字段的value

changeField(field,value)?修改指定字段的value

resetFields()?重置表单

destroy()?销毁表单

removeField(field)?删除指定字段

fields()?获得表单所有字段名称

submit()?表单验证通过后提交表单,触发onSubmit事件

validate(successFn,errorFn)?表单验证,如果验证通过执行successFn,未通过则执行errorFn

validateField(field,callback)?表单验证指定字段

(责任编辑:IT教学网)

更多

推荐Oracle认证文章