- 1.项目介绍
- 2.新手入门教程
- 3.开发环境准备
- 14.快速开始
- 16.上线发布
- 微服务开发
- 28.代码生成器
- 38.Online导入表过滤规则
- 39.后端开发技巧
- 40.常用问题汇总
- 41.自定义注解用法
- 42.Spring缓存注解@Cacheable
- 43.字典翻译注解@Dict
- 44.数据权限注解@PermissionData
- 45.日志记录注解@AutoLog
- 46.菜单路由配置
- 47.菜单配置说明
- 48.带参数路由菜单
- 49.路由菜单规则
- 50.菜单快速SQL
- 51.聚合路由菜单
- 52.数据快照功能如何用?
- 53.快速创建module模块
- 54.旧:新建maven模块项目?
- 55.查询过滤器用法
- 56.系统日志怎么插入?
- 57.自定义sql分页实现
- 58.针对敏感数据,加密传递方案
- Redis 如何使用?
- 60.事务如何使用?
- 61.动态数据源使用
- 62.定时任务如何开发?
- 63.系统通知接口
- 64.消息推送接口
- 65.JeecgBoot连接达梦数据库
- 66.接口敏感数据安全
- 67.批量插入效率建议
- 68.短信接口配置-阿里大鱼短信
- 69.自定义注解限制重复提交
- 70.邮箱配置文档
- 71.公文发文收文
- 72.WPS配置文档
- 73.公文发文收文使用手册
- 74.WPS集成代码解读
- 75.积木报表设计器数据集使用
- 76.父子编码使用说明
- 77.我的文档安全配置
- 78.文档预览
- 79.在线多数据源
- 80.系统文件上传
- 81.统一文件上传规则
- 82.MinIO配置
- 83.阿里云OSS配置
- 84.UI前端开发技巧
- 85.如何更改默认主题
- 86.Form表单开发特殊性
- 87.Icon图标扩展方法
- 88.vuex使用详解
- 89.vue路由带参总结
- 90.全局配置文件
- 91.列表自定义列实现
- 92.国际化改造方案
- 93.常用命令
- 94.报表开发
- 95.报表开发技术点
- 96.自定义报表组件
- 97.源码解读
- 98.自定义组件
- 99.前端技巧
- 100.components包下文件描述
- 101.JDictSelectTag字典标签
- 102.duplicateCheck表单字段重复校验通用JS
- 103.JVxeTable行编辑
- 104.组件配置文档
- 105.自定义组件
- 106.封装自定义组件
- 107.自定义组件增强
- 108.使用示例
- 109.常见问题解答
- 110.JEditableTable帮助文档
- 111.JMultiSelectTag多选组件
- 112.JPopup弹窗选择组件
- 113.JSearchSelectTag字典表的搜索组件
- 114.JSelectDepart部门选择组件
- 115.JSelectMultiUser用户多选组件
- 116.JSelectUserByDep根据部门选择用户
- 117.JTreeDict分类字典树形下拉组件
- 118.JTreeSelect树形下拉框-异步加载
- JInput 特殊查询组件
- JCron 帮助文档
- JCategorySelect 帮助文档
- 122.JUpload上传组件
- 123.JImageUpload图片上传组件
- 124.JSuperQuery高级查询组件
- 125.JAreaLinkage省市县三级联动
- 126.JEllipsis超长截取显示
- JDate 日期组件
- 128.JCheckbox组件
- 129.JCodeEditor组件
- 130.JSelectMultiple多选下拉组件
- 131.JTreeSelect树形下拉组件
- 132.JImportModal组件
- 133.JAsyncTreeList异步树表格
- 134.JFormContainer使用文档
- 135.JMarkdownEditor使用文档
- 136.前端开发坑-一定要注意
- 137.按需加载方案
- 138.按需加载@减小打包
- 139.JeecgBoot实战-按需加载方案
- 140.表格的换行与不换行
- 141.旧:表格的换行与不换行
- 142.主子表子表下拉框、时间框弹框被遮挡优化
- 143.前端依赖包package.json
- 144.如何实现多列表单
- 145.前端字典缓存用法
- 146.自定义首页
- 147.系统权限用法
- 148.JAVA请求权限控制
- 149.页面按钮权限用法
- 150.列表列字段权限控制
- 151.表单权限
- 152.显示隐藏控制
- 153.禁用控制用法一
- 154.禁用控制用法二
- 155.子表行字段的禁用和隐藏控制
- 156.数据权限
- 157.数据权限规则篇
- 158.数据权限用法篇
- 159.编码对接数据权限-未用查询过滤器
- 160.权限配置自定义SQL
- 161.二级部门权限管理
- 162.填值规则-编码生成
- 163.校验规则
- 164.Online表单
- 165.Online菜单配置
- 166.Online开发初体验
- 167.Online表单配置
- 168.Online表单一对多表单配置
- 169.Online表单删除说明
- 170.Online表单标准字段说明
- 171.Online树列表表单配置
- 172.Online表单配置参数说明
- 导入导出值转换器
- 174.Online表单填值规则配置
- 175.Online表单排版
- 176.Online树列表表单配置-个性化
- 177.Online表单控件
- 178.下拉框@多选框@单选框
- 179.下拉多选
- 180.下拉搜索
- 181.Popup控件
- 182.富文本控件
- 183.时间控件
- 184.用户选择器
- 185.部门选择器
- 186.自定义树控件
- 187.分类字典树控件
- 188.Online之popup使用
- 189.下拉联动组件
- 190.markdown编辑器
- 191.省市区组件
- 192.字段排列顺序调整
- 193.字段显示隐藏控制
- 194.字段校验规则使用
- 195.控件配置Href
- 196.控件默认值表达式
- 197.开关控件
- 20200914
- 199.字段权限配置与授权
- 200.按钮权限配置与授权
- 201.数据权限配置与授权
- 202.Online权限配置
- 203.列表字段权限-显示与隐藏
- 204.表单字段权限-隐藏和禁用
- 205.列表按钮权限-隐藏
- 206.列表数据权限
- 207.树形表单数据权限配置
- 208.二次开发-在线增强
- 209.online基础篇-JS增强-列表
- 210.online基础篇-JS增强-表单渲染
- API
- 212.列表
- 213.表单
- 实战示例
- 215.列表自定义按钮
- 改变控件的值
- 217.修改控件值【从表】
- 218.修改控件值【单-主-表】
- 219.online基础篇-SQL增强
- 220.online基础篇-自定义按钮
- 221.Online自定义按钮-表达式用法
- 222.online基础篇-java增强
- Online Java 增强 导入
- Online Java 增强 导出
- Online Java 增强 查询
- 226.online升级篇-表单API接口
- 227.online升级篇-扩展控件类型
- 228.online表单JS增强实现下拉联动
- 229.edu
- 230.Online表单专题课程
- 231.备注
- 232.Online表单权限配置按钮-列-表单字段的显示或隐藏
- 233.列表权限
- 234.列表字段的显示或隐藏
- 235.列表操作按钮的显示或隐藏
- 236.列表自定义按钮的显示或隐藏
- 237.表单权限
- 238.表单字段的显示或隐藏
- 239.表单字段的禁用或可编辑
- 240.Online导出支持图片
- 241.Online表单视图功能
- 242.JVXETable和JEditableTable切换方式
- 243.通过字段href实现3张表的关联
- 244.从数据库导入表单配置排除表名
- 245.Online报表
- 246.Online图表
- 247.Online图表配置手册
- 248.列表数据显示规则
- 249.组合报表的配置方式
- 250.如何配置菜单
- 251.常见问题
- 252.JS增强
- 253.参数说明
- 254.Online报表
- 255.online报表-使用步骤
- 256.online报表-动态参数
- 257.如何配置报表菜单
- 258.Online报表权限配置
- 259.Online报表系统变量应用
- 260.参数说明
- 261.Online报表排序
- 262.字段href
- 263.字典配置
- 264.高级实战技巧
- 265.HBuilderX打包APP
- 266.1.Build-JeecgBoot项目
- 打包APP
- 268.HBuilder打包APP手机端安装配置教程
- 269.Websocket业务对接
- 270.WebSocket的集成
- 271.SAAS多租户用法
- 272.CAS单点登录
- 273.1.CAS单点登录服务端准备
- 274.2.JeecgBoot后端对接CAS步骤
- 275.3.JeecgBoot前端项目对接CAS步骤
- 276.单点登录流程图
- 277.表单设计器
- 278.介绍
- 279.基础操作
- 280.配置字段属性
- 281.配置表单属性
- 282.配置到菜单
- 283.移动表单设计
- 284.表单组件
- 285.基础字段
- 286.单选、多选、下拉框
- 287.日期、时间选择器
- 288.高级组件
- 289.文本
- 290.按钮
- 291.分隔符
- 292.文件上传和图片上传
- 293.布局组件
- 294.Tabs
- 295.卡片
- 296.栅格布局
- 297.JEECG字段
- 298.设计子表
- 299.表字典-POPUP-下拉
- 300.用户组件、部门组件
- 301.高级操作
- 302.JS增强
- 303.全局JS增强
- 304.按钮JS增强
- 305.JS增强示例
- 306.CSS增强
- 307.表单增强
- 308.自定义接收URL
- 309.外部JS-CSS增强
- 310.控件取值
- 311.默认值表达式
- 312.远程API取值
- 313.填值规则
- 314.数据绑定映射
- 315.业务场景
- 316.远端选项数据
- 317.权限配置
- 318.表单字段权限
- 319.列表数据权限
- 320.列表按钮权限
- 321.角色授权
- 322.路由配置
- 323.表单对外接口
- 324.二次开发
- 325.自定义新控件
- 326.上传配置
- 327.旧:基础操作手册
- 328.旧:高级操作手册
- 329.AutoPOI-Excel工具
- 330.快速文档
- 331.单表数据导出多表头示例
- 332.单表数据多表头导入注意
- 333.导出自定义选择列导出
- 334.@excel注解使用
- 335.excel根据模板导出
- 336.一对多导出needMerge
- 337.第三方登录
- 338.企业微信配置
- 339.钉钉配置
- 340.企业微信集成方案
- 341.APP开发
- 342.后台推送消息给移动端
- 343.小结
- 344.编码规范
- 345.代码规范
- 346.建表规范
- 347.个人备忘录
- 348.小白实战课程
- 349.任务节点直接关联多节点分支
- 350.使用排他网管的分支
- 351.并行网管分支
- 352.任务节点人员配置表达式使用
- 353.会签属性循环集合表达式使用
- 354.流程监听
- 355.节点配置地址
- 356.多数据源使用
- 357.自定义开发流程小结
- 358.登录时不选择部门不能进入主页面
- 359.docker安装中文字体
- Cloud System API
- 361.jvxe升级-LOWCOD-812
- 363.jeecg-uniapp开发
- 364.开发环境搭建
- 365.项目简介
- 366.打包项目
- 367.APP打包
- 368.微信小程序打包
- 369.H5打包
- 370.小程序发布
- 371.API接口配置
- 372.uniapp推送
- 373.后台定时unipush推送配置
- 374.FQA
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
103.JVxeTable行编辑
[2020-09-14 | v2.3.0 版本]
>[info] vxe-table 官方文档 > JVXETable
基于vxe-table
组件开发,使用方式与JEditableTable
类似,但也不完全一样
参数配置
基础参数配置
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
columns | array | 【必填】 表格列的配置描述,详见【columns 参数配置】 | |
dataSource | array | 【必填】 表格数据 | |
size | string | 'medium' | 表格尺寸,可选值有:'medium'、 'small'、 'mini'、 'tiny' |
loading | boolean | false | 是否正在加载 |
height | number, string | 'auto' | 表格的固定高度,string只能填'auto',代表自适应高度 |
maxHeight | number | null | 设定最大高度(px),默认null不限定最大高度 |
disabled | boolean | false | 是否禁用全部组件 |
bordered | boolean | false | 是否显示单元格竖向边框线 |
toolbar | boolean | false | 是否显示工具栏 |
toolbarConfig | object | {slots: ['prefix', 'suffix'], btns: ['add', 'remove', 'clearSelection']} | 工具栏配置 |
rowNumber | boolean | false | 是否显示行号 |
rowSelection | boolean | false | 是否可选择行 |
rowSelectionType | string | 'checkbox' | 选择行类型, 可选值:'checkbox'、 'radio' |
rowExpand | boolean | false | 是否可展开行 |
expandConfig | object | {} | 展开行配置 |
pagination | object | {} | 分页器参数,设置了即可显示分页器,详见(APagination分页) |
clickRowShowSubForm | boolean | false | 点击行时是否显示子表单 |
clickRowShowMainForm | boolean | false | 点击行时是否显示主表单 |
clickSelectRow | boolean | false | 是否点击选中行,优先级最低 |
reloadEffect | boolean | false | 是否开启 reload 数据效果 |
editRules | object | {} | 校验规则 |
asyncRemove | boolean | false | 是否异步删除行,如果你要实现异步删除,那么需要把这个选项开启;在remove事件里调用confirmRemove方法才会真正删除(除非删除的全是新增的行) |
authPre | string | 配置按钮/列权限,通常规则是[前缀:列/按钮编码] 如jvxeauth:add ,如果需要在该table上作权限控制,就需要配置此属性为权限编码的前缀 ,此例中为jvxeauth |
>[info] 更多配置详见VXETable文档
columns 参数配置
参数 | 类型 | 说明 |
---|---|---|
title | string | 【必填】 表格列头显示的标题 |
key | string | 【必填】 列数据在数据项中对应的key ,必须是唯一的 |
type | string | 【必填】 表单的类型,可以通过JVXETypes 赋值 |
fixed | string | left(固定左侧), right(固定右侧) |
width | string | 列的宽度,px 、% |
minWidth | 最小列宽度, px 、% ;会自动将剩余空间按比例分配 | |
align | string | 列对齐方式 left(左对齐), center(居中对齐), right(右对齐) |
placeholder | string | 表单预期值的提示信息,可以使用${...} 变量替换文本(详见【常见问题_${...} 变量如何使用】) |
defaultValue | string | 默认值,在新增一行时生效 |
props | object | 设置添加给表单元素的自定义属性,例如:props:{title: 'show title'} |
disabled | boolean | 是否禁用当前列,默认false |
validateRules | array | 表单验证规则,配置方式见【validateRules 配置规则】 |
formatter | Function({cellValue, row, column}) | 格式化显示内容,将处理后的值返回即可。注:仅影响展示的值,不会修改实际的值,也就是说,在获取和点击编辑时不会受影响 |
validateRules 配置规则
validateRules
需要的是一个数组,数组里每项都是一个规则,规则是object类型,规则的各个参数如下
required
是否必填,可选值为true
orfalse
unique
唯一校验,不可重复,可选值为true
orfalse
pattern
正则表达式验证,只有成功匹配该正则的值才能成功通过验证handler
自定义函数校验,使用方法请见【使用示例_五】)message
当验证未通过时显示的提示文本,可以使用${...}
变量替换文本(详见【常见问题_${...} 变量如何使用】)- 配置示例请看【使用示例_二】
事件
added
触发时机
:点击新增
按钮、调用addRows
方法时会触发携带参数
:row
:添加完成后的行
>[info] 如果调用addRows
方法添加多行,则每添加一行都会触发一次该事件
save
触发时机
:只有点击保存
按钮时才会触发
remove
触发时机
:只有点击删除
按钮时才会触发携带参数
:deleteRows
:即将被删除的行的IDconfirmRemove
:确认删除方法
>[info] 如果asyncRemove
参数设为true,则会传递confirmRemove
方法,否者不会,且只有调用了该方法后才会真正删除(除非删除的全是新增的行) > 如果asyncRemove
参数设为false,就会直接删除行,而不用调用confirmRemove
。
selectRowChange
触发时机
:当行被选中或取消选中时触发携带参数
:type
:选中类型radio
:单选checkbox
:多选
action
:选中操作selected
:选中unselected
:取消选中selected-all
:全选
row
:当前操作的行(全选时没有该参数)selectedRows
:所有被选中的行selectedRowIds
:所有被选中的行的ID$event
:原生事件
pageChange
触发时机
:当分页参数被改变时触发携带参数
:current
:当前页码pageSize
:当前页大小
valueChange
触发时机
:当数据发生改变的时候触发的事件携带参数
:type
:组件类型(JVXETypes中定义的类型)value
:新值oldValue
:旧值row
:当前行col
:当前列column
:当前列配置rowIndex
:当前行下标columnIndex
:当前列下标cellTarget
:当前组件实例isSetValues
:为true
则代表是通过setValues
方法触发的事件
>[info] 特别注意: 如果是通过setValues
方法触发的事件,将不会传递row
、rowIndex
、columnIndex
、cellTarget
这几个参数的。
方法
addRows
说明
:添加一行或多行临时数据,会填充默认值,总是会激活添加的最后一行的编辑模式参数
:rows
:[object | array] 要添加的行
返回值
:Promise<row,rows>
pushRows
说明
:添加一行或多行临时数据,不会填充默认值,传什么就添加进去什么参数
:rows
:[object | array] 要添加的行options
:object 选项参数index
:默认-1,插入位置,-1为最后一行setActive
:默认false,是否激活添加的最后一行的编辑模式
返回值
:Promise<row,rows>
loadData
说明
:加载数据,和dataSource
不同的是,由于该方法不直接绑定到页面上,所以可以防止vue监听大数据,提高性能。当然如果数据量少的话就模棱两可了。参数
:dataSource
:array
返回值
:Promise
loadNewData
说明
:加载新数据,和loadData
不同的是,用该方法加载的数据都是相当于点新增按钮新增的数据,适用于不是数据库里查出来的没有id的临时数据。参数
:dataSource
:array
返回值
:Promise
resetScrollTop
说明
:重置滚动条Top位置参数
:top
:number 新top位置,留空则滚动到上次记录的位置,用于解决切换tab选项卡时导致白屏以及自动将滚动条滚动到顶部的问题
返回值
:无
validateTable
说明
:校验table,失败返回errMap,成功返回null参数
:无返回值
:Promise
setValues
说明
: 设置某行某列的值参数
:values
:array
返回值
:void
getAll
说明
:获取所有的数据,包括tableData
、deleteData
参数
:无返回值
:{ tableData, deleteData }
getTableData
说明
: 获取表格数据参数
:options
:object 选项参数rowIds
:string[] 行ID,传了就只返回传递的行
返回值
:row[]
getNewData
说明
:仅获取新增的临时数据参数
:无返回值
:row[]
getIfRowById
说明
:根据ID获取行,新增的临时行也能查出来参数
:id返回值
:{row, isNew}row
:获取到的行isNew
:当前行是否是新增的临时行
getNewRowById
说明
:通过临时ID获取新增的临时行参数
:id返回值
:row
getDeleteData
说明
:仅获取被删除的数据(新增又被删除的数据不会被获取到)参数
:无返回值
:row[]
clearSelection
说明
:清空选择参数
:无返回值
:void
removeRows
说明
:删除一行或多行数据参数
:rows
:[object | array]
返回值
:void
removeRowsById
说明
:根据id删除一行或多行参数
:rowId
:[string | array]
返回值
:void
>[info] 更多方法见VXETable文档
内置插槽
插槽名 | 说明 |
---|---|
toolbarPrefix | 在操作按钮的前面插入插槽,和自带的按钮共处于一行,受toolbar 和toolbarConfig 属性的影响 |
toolbarSuffix | 在操作按钮的后面插入插槽,和自带的按钮共处于一行,受toolbar 和toolbarConfig 属性的影响 |
toolbarAfter | 在工具条的下面插入插槽,不受toolbar 和toolbarConfig 属性的影响 |
subForm | 点击展开子表的内容 |
mainForm | 弹出主表的内容 |
vxeUtils.js 使用说明
引用路径:@/components/jeecg/JVxeTable/utils/vxeUtils.js
export 的常量
VALIDATE_FAILED
在判断表单验证是否通过时使用,如果 reject 的值 === VALIDATE_NO_PASSED 则代表表单验证未通过,你可以做相应的其他处理,反之则可能是发生了报错,可以使用console.error
输出
封装的方法
validateTables
说明
:一次性验证多个JVxeTable实例 当你的页面中存在多个JVxeTable实例的时候,如果要获取每个实例的值、判断表单验证是否通过,就会让代码变得极其冗余、繁琐,于是我们就将该操作封装成了一个函数供你调用,它可以同时获取并验证多个JVxeTable实例的值,只有当所有实例的表单验证都通过后才会返回值,否则将会告诉你具体哪个实例没有通过验证。具体使用方法请看下面的示例参数
:cases
:array,传入一个数组,数组中的每项都是一个JVxeTable的实例autoJumpTab
boolean,默认true,校验失败后,是否自动跳转tab选项 仅限于在ATab组件下使用的情况,如果没有就可以无视该参数
返回值
:Promise<tablesData[]> 返回表格数据数组,与传入的顺序一一对应示例:
import { validateTables, VALIDATE_FAILED } from '@/components/jeecg/JVxeTable/utils/vxeUtils.js' // 封装cases let cases = [] cases.push(this.$refs.editableTable1) cases.push(this.$refs.editableTable2) cases.push(this.$refs.editableTable3) cases.push(this.$refs.editableTable4) cases.push(this.$refs.editableTable5) // 同时验证并获取多个实例的值 validateTables(cases).then(tablesData => { // tablesData 是一个数组,每项都对应传入cases的下标,包含values和deleteIds console.log('所有实例的值:', tablesData) }).catch((e = {}) => { // 判断表单验证是否未通过 if (e.error === VALIDATE_FAILED) { console.log('未通过验证的实例下标:', e.index) } else { console.error('发生异常:', e) } })
validateFormAndTables
说明
:同时验证AFrom实例和多个JVxeTable实例 和validateTables
功能相同,只不过该方法进一步验证了AForm实例。参数
:form
:AForm实例cases
:array,传入一个数组,数组中的每项都是一个JVxeTable的实例autoJumpTab
boolean,默认true,校验失败后,是否自动跳转tab选项
返回值
:Promise<dataMap> dataMap.formValue=主表数据,dataMap.tablesValue=子表数据
vxePackageToSuperQuery
说明
:vxe columns 封装成高级查询可识别的选项参数
:columns
:array,columnshandler
:function、单独处理方法
返回值
:array,高级查询所需要的fieldList
getRefPromise
说明
:获取指定的 $refs 对象 有时候可能会遇到组件未挂载到页面中的情况,导致无法获取 $refs 中的某个对象 这个方法可以等待挂载完成之后再返回 $refs 的对象,避免报错参数
:vm
:vue实例name
:string,ref的名称
返回值
:Promise,获取到的ref实例
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论