当前位置: 首页 > news >正文

el-table实现双击编辑-el-select选择框+输入框限制非负两位小数

data定义

  data() {return {tableData: [],editingProp: "",currentRowIndex: null,};

表格区域

      <!-- 表格区域 --><el-table :data="tableData" border fit size="mini" :header-cell-style="tableHeaderColor":cell-style="tableCellColor" @cell-dblclick="cellDblClick"><el-table-column label="编号" prop="myNo" width="120" :render-header="renderRequiredHeader"><template v-slot="scope"><el-input v-if="scope.row.isEdit &&editingProp === 'myNo'" maxlength="20" v-model="scope.row.myNo" @change="cellChangeFn(scope.row)" size="mini"@blur="cellBlur(scope.row)" /><span v-else>{{ scope.row.myNo }}</span></template></el-table-column><el-table-column label="时段" prop="time" width="100" ><template v-slot="scope"><el-select v-show="scope.row.isEdit &&editingProp === 'time'   " v-model="scope.row.time" size="small" placeholder="请选择"                            @blur="cellBlur(scope.row)"@change="cellChangeFn(scope.row)"><el-option :key="item.code" :label="item.name" :value="item.code" v-for="item in periodTypelist" /></el-select><span  v-else >{{ scope.row.periodType }}</span></template></el-table-column><el-table-column label="操作" :width="100" fixed="right"><template slot-scope="scope"><span  @click="showDelete(scope.$index)">删除</span></template></el-table-column></el-table>

定义的方法

    cellDblClick(row, column, cell, event) {// element-ui的单元格双击事件给了四个参数,分别是行、列信息,单元格dom对象,双击事件对象// 我们这里记录行信息与列信息,用来定位焦点单元格。// 设置编辑状态this.tableData.forEach((item) => {item.isEdit = false;});row.isEdit = true;this.editingProp = column.property;this.currentRowIndex = this.tableData.indexOf(row);},
   cellBlur(row) {if (row.isEdit) {row.isEdit = false;this.editingProp = "";this.currentRowIndex = null;}},
 cellChangeFn(value) {更新时触发保存接口
}// 删除showDelete(index) {this.$confirm("确定删除此项?", "提示", {confirmButtonText: "确定",cancelButtonText: "取消",}).then(() => {this.tableData.splice(index, 1);this.cellChangeFn();}).catch(() => { });},

表格样式方法

    // 修改表头颜色tableHeaderColor({ row, rowIndex }) {if (rowIndex === 0) {return {background: "#F8F8F8",color: "#000",fontFamily: "PingFang SC",fontSize: "14px",};}},tableCellColor({ row, rowIndex }) {return {background: "#fff",color: "#000",fontFamily: "PingFang SC",fontSize: "14px",};},//必填表头renderRequiredHeader(h, { column }) {return h('div', {class: 'custom-header-cell'}, [h('span', {style: {color: '#F56C6C',marginRight: '4px'}}, '*'),h('span', column.label)]);},

表格中有el-select的可以用v-show 提高性能

输入框限制非负的两位小数

 <el-input-number :controls="false" :precision="2" :min="0" />

在这里插入图片描述

http://www.dtcms.com/a/357029.html

相关文章:

  • HunyuanVideo-Foley视频音效生成模型介绍与部署
  • 非标设计 机架模板 misumi 设计组合案例
  • 浏览器自动化工具怎么选?MCP 控制浏览器 vs Selenium 深度对比
  • 预测模型及超参数:3.集成学习:[1]LightGBM
  • LangChain实战(三):深入理解Model I/O - Prompts模板
  • 顶会顶刊图像分类的云服务器训练方法
  • 闭包与内存泄漏:深度解析与应对策略
  • Spring boot 启用第二数据源
  • Java全栈工程师的实战面试:从基础到微服务架构
  • 【SOD】目标检测
  • 2025.8.29机械臂实战项目
  • 基于STM32单片机的智能温室控制声光报警系统设计
  • leetcode 461 汉明距离
  • 基于MSRDCN、FEAM与AMSFM的轴承故障诊断MATLAB实现
  • 【工具】开源大屏设计器 自用整理
  • golang接口详细解释
  • websocket的应用
  • 【Spring Cloud Alibaba】前置知识
  • 微信小程序调用蓝牙打印机教程(TSPL命令)
  • Android 14 PMS源码分析
  • Linux-搭建DNS服务器
  • 计算机三级嵌入式填空题——真题库(24)原题附答案速记
  • CMake xcode编译器属性设置技巧
  • JavaScript 数组核心操作实战:最值获取与排序实现(从基础到优化)
  • 线程安全及死锁问题
  • Linux之Docker虚拟化技术(二)
  • Python结构化模式匹配:解析器的革命性升级
  • 大模型 “轻量化” 之战:从千亿参数到端侧部署,AI 如何走进消费电子?
  • 【ACP】2025-最新-疑难题解析-11
  • 机器视觉opencv教程(二):二值化、自适应二值化