vue+iview中使在table中用render渲染input表单及验证(表单支持同时多行编辑)

vue+iview中使在table中用render渲染input表单及验证(表单支持同时多行编辑),第1张

关于表单单行的编辑 *** 作iview文档中已经提供有范例,以下是复杂点支持多行编辑的用法。

先看效果:

HTML部分:

这里 # 是v-slot的缩写,#age="{row,index}"相当于v-slot:age="{row,index}"。

关于v-slot的相关知识点,请参考官方文档: 作用域插槽

这里有个重点,rule验证规则比需要写在FormItem标签中,写在Form标签中是无效的!

VUE部分:

上面范例中我没有写验证结果的处理部分,处理效验结果跟普通form的用法一样:

只要将上面这一部分在类似‘on-change’ ‘on-blur’的触发事件中进行效验处理即可

CSS部分(覆盖iview源码中form表单样式):

你这里 @on-select="route()" 改成 @on-select="route"

route 方法改为 function route(name) 这样会自动将 name 通过参数传递过去(或者在你现在的方法中使用 arguments[0] 获取 这个方法我没试过,但是原理上觉得可行)

表单校验是每一个前端开发人员都避免不了的需求。在一些前端可以自行校验的情况下,先通过前端校验,校验不通过不发送请求,直到满足校验规则,再发送请求给后端,从而提升用户体验。

iview对表单的校验有自己的方法,但如果数据结构比较复杂,对象里面又嵌套对象,该如何校验?本文给出多层对象嵌套的方法。

如下:

场景:使用iview-ui,form表单内嵌table支持编辑,对某个字段进行单独效验

页面中form表单中包含的table,table的columns使用render函数进行渲染,本身form表单有多条数据进行效验,编辑表格内容时单独对某个input框进行效验。

将表格内效验的条件也写在form的rules 内,表格render函数渲染input时,使用form-item包裹,并填写prop,作为表单中的一项可调用效验,需在data中提前声明。(注意:同时效验多行同一个字段可能会出错)

在table新增时先对form 内容进行部分效验

this$refs['formValidate']validate((valid) => {})

table 编辑 input 失去焦点时再次触发form表单效验

日常记录,有错误or优化,请指出不胜感谢!

在官方文档中, Tooltip 显示文本可以自由的设置显示方向,但是偏移量设置官方 API 只给出了一个 offset 属性,默认值为 0 ,类型为 number 。并无具体示例。经过测试, offset 可以接受两个值,具体如下:

在 vue 中可以使用 watch 监听 data 中的属性,如果需要监听对象的属性,可以使用如下方式:

在表单中使用 DatePicker 返回数据时国际标准时间的格式,即: "2019-12-11T16:00:00000Z" ,但在提交表单的时候需要正常的格式,可以在 on-change 时间中做如下处理:

1、二级菜单name如果相同,选中二级菜单后,其他一级菜单中的二级菜单也会被选中,name要定义不同参数

{name: "android-yk", value: "一课"}

{name: "ios-yk", value: "一课"}

2、获取选中导航name值

iview自带on-select 和 on-open-change事件

3、动态生成open-names或active-name时不生效

运用Menu的updateopened方法:手动更新展开的子目录,注意要在 $nextTick 里调用。对openNames添加watch

以上就是关于vue+iview中使在table中用render渲染input表单及验证(表单支持同时多行编辑)全部的内容,包括:vue+iview中使在table中用render渲染input表单及验证(表单支持同时多行编辑)、iview 的 Menu 组件中,on-select 事件怎么用、iview 自定义验证表单多层嵌套如何实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9699906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存