vue表格 vxe-table 如何实现键盘导航时,按回车健向右移动,并到最后一行时按回车自动新增一行

news/2026/1/23 21:21:29/文章来源:https://www.cnblogs.com/zy65/p/19524073

vue表格 vxe-table 如何实现键盘导航时,按回车健向右移动,并到最后一行时按回车自动新增一行,表格组件本身支持按回车键自动新增行/按 Tab 键自动的新增行,通过以下参数开启就可以了。

https://vxetable.cn

按 Tab 键在最后一行tab键自动新增一行

通过 keyboard-config.isLastTabAppendRow 设置当活动单元格处于最后一行时,按Tab键自动在表尾新增一行,还可以设置 keyboard-config.beforeTabMethod 重写默认行为,自定义实现更加灵活的操作,比如在最后一行最后一列通过Tab键新增一行数据

table_keyboard_tab_append

<template><div><vxe-grid v-bind="gridOptions"></vxe-grid></div>
</template><script setup>
import { reactive } from 'vue'const gridOptions = reactive({border: true,showOverflow: true,keepSource: true,height: 400,mouseConfig: {selected: true},keyboardConfig: {isEdit: true,isArrow: true,isEnter: true,isTab: true,isDel: true,isBack: true,isEsc: true,isLastTabAppendRow: true},editConfig: {trigger: 'dblclick',mode: 'cell',showStatus: true},columns: [{ type: 'seq', width: 70 },{ field: 'name', title: 'Name', editRender: { name: 'VxeInput' } },{ field: 'sex', title: 'Sex', editRender: { name: 'VxeInput' } },{ field: 'age', title: 'Age', editRender: { name: 'VxeInput' } }],data: [{ id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },{ id: 10002, name: 'Test2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },{ id: 10003, name: 'Test3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },{ id: 10004, name: 'Test4', role: 'Designer', sex: 'Women', age: 23, address: 'test abc' },{ id: 10005, name: 'Test5', role: 'Develop', sex: 'Women', age: 30, address: 'Shanghai' },{ id: 10006, name: 'Test6', role: 'Designer', sex: 'Women', age: 21, address: 'test abc' },{ id: 10007, name: 'Test7', role: 'Test', sex: 'Man', age: 29, address: 'test abc' },{ id: 10008, name: 'Test8', role: 'Develop', sex: 'Man', age: 35, address: 'test abc' },{ id: 10009, name: 'Test9', role: 'Test', sex: 'Man', age: 26, address: 'test abc' },{ id: 10010, name: 'Test10', role: 'Develop', sex: 'Man', age: 38, address: 'test abc' },{ id: 10011, name: 'Test11', role: 'Test', sex: 'Women', age: 29, address: 'test abc' },{ id: 10012, name: 'Test12', role: 'Develop', sex: 'Man', age: 27, address: 'test abc' },{ id: 10013, name: 'Test13', role: 'Test', sex: 'Women', age: 24, address: 'test abc' },{ id: 10014, name: 'Test14', role: 'Develop', sex: 'Man', age: 34, address: 'test abc' },{ id: 10015, name: 'Test15', role: 'Test', sex: 'Man', age: 21, address: 'test abc' },{ id: 10016, name: 'Test16', role: 'Develop', sex: 'Women', age: 20, address: 'test abc' },{ id: 10017, name: 'Test17', role: 'Test', sex: 'Man', age: 31, address: 'test abc' },{ id: 10018, name: 'Test18', role: 'Develop', sex: 'Women', age: 32, address: 'test abc' },{ id: 10019, name: 'Test19', role: 'Test', sex: 'Man', age: 37, address: 'test abc' },{ id: 10020, name: 'Test20', role: 'Develop', sex: 'Man', age: 41, address: 'test abc' }]
})
</script>

按回车键在最后一行回车键自动新增一行

通过 keyboard-config.isLastEnterAppendRow 设置当活动单元格处于最后一行时,按回车键自动在表尾新增一行,还可以设置 keyboard-config.beforeEnterMethod 重写默认行为,自定义实现更加灵活的操作,比如在最后一行通过回车键新增一行数据

table_keyboard_enter_append

<template><div><vxe-grid v-bind="gridOptions"></vxe-grid></div>
</template><script setup>
import { reactive } from 'vue'const gridOptions = reactive({border: true,showOverflow: true,keepSource: true,height: 400,mouseConfig: {selected: true},keyboardConfig: {isEdit: true,isArrow: true,isEnter: true,isTab: true,isDel: true,isBack: true,isEsc: true,isLastEnterAppendRow: true},editConfig: {trigger: 'dblclick',mode: 'cell',showStatus: true},columns: [{ type: 'seq', width: 70 },{ field: 'name', title: 'Name', editRender: { name: 'VxeInput' } },{ field: 'sex', title: 'Sex', editRender: { name: 'VxeInput' } },{ field: 'age', title: 'Age', editRender: { name: 'VxeInput' } }],data: [{ id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },{ id: 10002, name: 'Test2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },{ id: 10003, name: 'Test3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },{ id: 10004, name: 'Test4', role: 'Designer', sex: 'Women', age: 23, address: 'test abc' },{ id: 10005, name: 'Test5', role: 'Develop', sex: 'Women', age: 30, address: 'Shanghai' },{ id: 10006, name: 'Test6', role: 'Designer', sex: 'Women', age: 21, address: 'test abc' },{ id: 10007, name: 'Test7', role: 'Test', sex: 'Man', age: 29, address: 'test abc' },{ id: 10008, name: 'Test8', role: 'Develop', sex: 'Man', age: 35, address: 'test abc' },{ id: 10009, name: 'Test9', role: 'Test', sex: 'Man', age: 26, address: 'test abc' },{ id: 10010, name: 'Test10', role: 'Develop', sex: 'Man', age: 38, address: 'test abc' },{ id: 10011, name: 'Test11', role: 'Test', sex: 'Women', age: 29, address: 'test abc' },{ id: 10012, name: 'Test12', role: 'Develop', sex: 'Man', age: 27, address: 'test abc' },{ id: 10013, name: 'Test13', role: 'Test', sex: 'Women', age: 24, address: 'test abc' },{ id: 10014, name: 'Test14', role: 'Develop', sex: 'Man', age: 34, address: 'test abc' },{ id: 10015, name: 'Test15', role: 'Test', sex: 'Man', age: 21, address: 'test abc' },{ id: 10016, name: 'Test16', role: 'Develop', sex: 'Women', age: 20, address: 'test abc' },{ id: 10017, name: 'Test17', role: 'Test', sex: 'Man', age: 31, address: 'test abc' },{ id: 10018, name: 'Test18', role: 'Develop', sex: 'Women', age: 32, address: 'test abc' },{ id: 10019, name: 'Test19', role: 'Test', sex: 'Man', age: 37, address: 'test abc' },{ id: 10020, name: 'Test20', role: 'Develop', sex: 'Man', age: 41, address: 'test abc' }]
})
</script>

https://gitee.com/x-extends/vxe-table

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1206577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

特价股票与公司长期气候适应能力的关系分析

特价股票与公司长期气候适应能力的关系分析关键词&#xff1a;特价股票、公司长期气候适应能力、股票估值、气候风险、可持续发展摘要&#xff1a;本文旨在深入分析特价股票与公司长期气候适应能力之间的关系。通过探讨特价股票的形成机制和公司气候适应能力的内涵&#xff0c;…

.nvue页面实现画笔绘制功能,用原生html导入nvue页面使用还可以截图(画笔 清空 橡皮擦 改颜色 禁用画笔 截图-是视频画面加绘制合成一张图片截图)-我花80块钱找淘宝都没弄出来,自己写的

功能 安卓app上面nvue 视频上方绘制&#xff08;vue2&#xff09;①新建一个draw.html文件&#xff08;里面功能有画笔 清空 橡皮擦 改颜色 禁用画笔 截图-是视频画面加绘制合成一张图片截图&#xff09;②webViewUrl: /static/draw.html,③<!-- 画布 绘制层 --><web-…

搞懂大数据CAP定理,为你的职业发展添砖加瓦

搞懂大数据CAP定理&#xff1a;从原理到实战&#xff0c;为你的分布式架构能力赋能 引言&#xff1a;为什么你的分布式系统总在“纠结”&#xff1f; 假设你正在设计一个电商库存系统&#xff1a; 运营说“不能超卖&#xff01;”——这要求数据绝对一致&#xff08;买一件库…

WebGL Shader性能优化

&#x1f680; WebGL Shader性能优化全指南&#xff08;结合Cesium实战&#xff09; WebGL Shader运行在GPU的SIMD&#xff08;单指令多数据&#xff09;架构上&#xff0c;与CPU的分支预测逻辑完全不同。条件语句&#xff08;if-else、switch&#xff09;会导致GPU线程束&…

手机外壳平面度用什么设备检测快?SIMSCAN精细模式+自动报告方案推荐

手机外壳平面度高效检测方案:思看科技SIMSCAN-E三维扫描仪精细模式深度解析 body { font-family: "Microsoft YaHei", sans-serif; line-height: 1.8; color: rgba(51, 51, 51, 1); max-width: 1200px; mar…

建筑BIM模型怎么从实体建筑生成?三维扫描仪推荐TrackScan-Sharp!

建筑BIM模型逆向生成与思看科技TrackScan-Sharp大范围空间扫描解决方案 body { font-family: "Microsoft YaHei", Arial, sans-serif; line-height: 1.8; color: rgba(51, 51, 51, 1); max-width: 1200px; m…

HBase与Quarkus:Kubernetes原生Java

《HBase + Quarkus 实战:构建Kubernetes原生Java应用的最佳实践》 一、引言:传统Java与云原生的“矛盾”,如何破解? 作为Java开发者,你是否遇到过这样的痛点: 写了一个连接HBase的Java应用,本地运行没问题,但部署到Kubernetes后,启动要等好几秒,内存占用高达500MB+…

详细介绍:《 Linux 点滴漫谈: 四 》文件权限与用户管理

详细介绍:《 Linux 点滴漫谈: 四 》文件权限与用户管理pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…

阿里拟析平头哥以赴市:论芯片分拆之战略深意

岁在丙午&#xff0c;正月廿二日&#xff0c;有西媒彭博传讯&#xff1a;阿里巴巴集团谋析其芯片子公司“平头哥”&#xff08;T-Head&#xff09;为独立之体&#xff0c;拟推之上市。闻者哗然&#xff0c;美股盘前应声而起&#xff0c;涨幅逾四。此非寻常之举&#xff0c;实乃…

多边形剪裁算法

多边形剪裁算法 用 box 剪裁任意多边形。 算法原理: 原多边形↓ 用 LEFT 裁剪 中间多边形↓ 用 RIGHT 裁剪 中间多边形↓ 用 BOTTOM 裁剪 中间多边形↓ 用 TOP 裁剪 最终结果每一步都保证输出多边形在当前剪裁边的内侧…

铸件毛坯余量如何精准测量分析?自动生成偏差色谱图产品推荐

思看科技ScanViewer:铸件毛坯余量精准测量分析与偏差色谱图生成解决方案 body { font-family: Arial, sans-serif; line-height: 1.6; margin: 0; padding: 20px; background-color: rgba(244, 244, 244, 1); color: …

2026年深圳APP定制开发外包公司权威榜单发布

随着深圳在科技创新领域的持续崛起,APP定制开发市场竞争日益激烈。各家公司依托自身技术优势和行业经验,正在为企业提供更高效、创新的数字化解决方案。本文为您呈现2026年深圳APP定制开发公司权威榜单,带您了解这些…

量具测不准太慢?模具精度检查难题破解!思看3DeVOK MT+Polyworks方案推荐

模具尺寸检测新纪元:告别测不准与低效,思看科技三维扫描解决方案 body { font-family: "Microsoft YaHei", sans-serif; line-height: 1.8; color: rgba(51, 51, 51, 1); max-width: 1200px; margin: 0 au…

提升大数据处理效率,聚焦 ETL 核心策略

提升大数据处理效率&#xff0c;聚焦 ETL 核心策略 关键词&#xff1a;ETL、大数据处理、数据抽取、数据转换、数据加载、效率优化、数据质量 摘要&#xff1a;在大数据时代&#xff0c;企业每天要处理海量数据&#xff0c;但数据从“原始杂乱”到“可用资产”的关键桥梁——ET…

2026必备!继续教育必看!TOP10一键生成论文工具深度测评

2026必备&#xff01;继续教育必看&#xff01;TOP10一键生成论文工具深度测评 2026年继续教育论文工具测评&#xff1a;精准选择&#xff0c;高效写作 在继续教育领域&#xff0c;论文撰写已成为许多学员必须面对的重要任务。随着AI技术的不断进步&#xff0c;各类论文生成工…

大数据领域数据服务在旅游科技领域的应用探索

大数据领域数据服务在旅游科技领域的应用探索关键词&#xff1a;大数据数据服务、旅游科技、个性化推荐、动态定价、客流管理、智能行程规划、数据驱动决策摘要&#xff1a;本文以“大数据如何赋能旅游行业智能化升级”为核心&#xff0c;结合旅游场景中的实际需求&#xff0c;…

URC 分流是什么意思 + 为什么必须做 + ESP-IDF 可直接用的代码框架

下面是一篇我帮你把 “URC 分流是什么意思 为什么必须做 ESP-IDF 可直接用的代码框架” 合并成一整篇的文章&#xff0c;你直接复制即可 ✅ ESP32 4G 模组&#xff1a;URC 分流是什么意思&#xff1f;为什么必须做&#xff1f;&#xff08;附完整代码&#xff09; 在 ESP32…

ESP_ERR_OTA_VALIDATE_FAILED 的意思非常明确

这个错误 ESP_ERR_OTA_VALIDATE_FAILED 的意思非常明确&#xff1a;你写进 OTA 分区的固件镜像在 esp_ota_end() 做校验时&#xff0c;被判定为“不是一个有效的 ESP 镜像”或“镜像已损坏/不完整”。 所以 OTA 结束失败&#xff0c;新的固件不会被设置为可启动。你截图里这行也…

结论是:不是单一问题,你这边至少有 2 类崩溃,而且都和 ML307 的 AT/UART收发链路 + 异常数据处理 强相关

我把你这几份 C3 ML307 的崩溃日志按“最像根因”的方向拆开看了&#xff0c;结论是&#xff1a;不是单一问题&#xff0c;你这边至少有 2 类崩溃&#xff0c;而且都和 ML307 的 AT/UART收发链路 异常数据处理 强相关。 ① 开机就崩&#xff1a;Load access fault&#xff08…

Golang 与 Kubernetes:实现自动化备份与恢复

Golang 与 Kubernetes:实现自动化备份与恢复 关键词:Golang、Kubernetes、自动化备份、自定义资源(CRD)、云原生、状态管理、快照恢复 摘要:在云原生时代,Kubernetes(K8s)已成为容器编排的事实标准,但如何保障集群中关键应用(如数据库、配置中心)的状态安全仍是核心…