Vue+EleMentUI实现el-table-colum表格select下拉框可编辑

article/2025/10/8 6:15:43

说明:

在进行采购入库的过程中,有必要对表格中的一行进行快速编辑保存,节省时间,提高工作效率!,而不是每次编辑都要弹窗才可编辑
源码:https://gitee.com/charlinchenlin/store-pos

效果图:

在这里插入图片描述

1、在data定义supplier数组等元素

data() {return {       suppliers:[],   //保存供应商数据    showInput: "", //用来判断是否显示哪个单元格oldData: {}, //用来存修改前的数据currentData: {},  //用来保存新的数据     }},

2、为el-table表格单击和双击添加tableDbEdit事件

<el-table :data="dataList" size="mini" v-loading="dataListLoading" @selection-change="selectionChangeHandle"style="width: 100%;" @cell-click="tableDbEdit" @cell-dblclick="tableDbEdit" height="320":header-cell-style="{ background: '#fcfcfc', color: '#606266', height:'36px'}"><el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>------</el-table>

控制是否显示select下拉框

tableDbEdit(row, column, event) {this.showInput = column.property + row.inboundId;this.oldData[column.property] = row[column.property];},

3、为供应商列添加下拉框

如果showInput的值与当前的inboundId相同,则显示下拉选项,否则显示数据信息

<el-table-column prop="supplierName" header-align="center" align="center" label="供应商名称" width="150" show-overflow-tooltip><template slot-scope="scope"><el-select size="mini" @focus="getSuppliers()" @click="getSuppliers()" @change='blurInput(scope.row, "supplierName", scope.row.supplierName)' v-model="scope.row.supplierName" clearablev-if="showInput == `supplierName${scope.row.inboundId}`"placeholder="请选择"><el-option v-for="item in suppliers" :key="item.supplierId" :label="item.supplierName" :value="item.supplierName"></el-option></el-select><span v-else class="active-input">{{scope.row.supplierName}}</span></template>
</el-table-column>

聚焦或单击时获取供应商数据

async getSuppliers() {const res = await this.$http({url: `/product/supplier/getSupplies`,method: 'get',params: this.$http.adornParams()})let data = res.dataif (data && data.code === 0) {this.suppliers = data.data}},

触发change事件时给当前列赋值,并设置供应商信息

// 当input失去光标后进行的操作async blurInput(row, name, value) {// 判断数据是否有所改变,如果数据有改变则调用修改接口if (this.oldData[name] != value) {row[name] = value         }this.showInput = ""this.currentData = rowif(name === 'supplierName'){this.setSuppliers(row)}},setSuppliers(row) {for (let index in this.suppliers) {let item = this.suppliers[index]if (row.supplierName === item.supplierName) {row.supplierId = item.supplierIdreturn}}},

4、保存当前列,成功后重新加载数据

async saveHandle(row) {console.log("saveHandle row===", row)row.status = row.status ? 1 : 0const res = await this.$http({url: `/purchase/purchasesinboundorder/update`,method: 'post',data: this.$http.adornData(row)});let data = res.dataif (data && data.code !== 0) {row.status = !row.status;return this.$message.error('修改失败!');}this.$message.success('更新成功!');this.getDataList();},

5、定义v-focus

directives: {// 通过自定义指令实现的表单自动获得光标的操作focus: {inserted: function(el) {if (el.tagName.toLocaleLowerCase() == "input") {el.focus()} else {if (el.getElementsByTagName("input")) {el.getElementsByTagName("input")[0].focus()}}el.focus()}},focusTextarea: {inserted: function(el) {if (el.tagName.toLocaleLowerCase() == "textarea") {el.focus()} else {if (el.getElementsByTagName("textarea")) {el.getElementsByTagName("textarea")[0].focus()}}el.focus()}}},

http://chatgpt.dhexx.cn/article/l2OQeo0t.shtml

相关文章

Flutter学习(三)Row,Colum布局

主题 本文将介绍&#xff0c;flutter中的row&#xff0c;colum的用法。通俗来说&#xff0c;就是横向布局和纵向布局的用法。 开发环境 win10 androidstudio2022.1.1 jdk11 fluttersdk-flutter_windows_3.7.8 源码 文末将会附上完整开源demo地址 开发过程 首先&#xff…

column多列布局

CSS3 新增多列布局适合排版很长的文字内容&#xff0c;让其多列显示。使开发者能够轻松实现报纸版式的布局。 colum的相关属性&#xff1a; 属性说明column-count属性值是一个数字&#xff0c;规定元素被分为几列column-width列宽column-gap列与列的间隔宽度column-rule列的间…

为什么函数f(x)=x²不是满射

看到许多同学在问这个问题&#xff0c;一时也不知道该问谁&#xff0c;今天就去刨根问底了一下。 大致弄清缘由了&#xff0c;很可能是有同学看到有一本书《高等数学第7版上册》&#xff08;同济大学数学系 编&#xff09;&#xff0c;其中的第一章 函数与极限 第2页 例1提到&…

e^x导数证明

证明当x→0时,e^x-1与x是等价无穷小 https://www.zybang.com/question/1888f36ace3f205309482870c58e8a64.html

关于优化公式的小白理解

1、为什么要将e(x)写成e(xdx)的形式&#xff1f; 2、J(x)是什么对什么的导数&#xff1f; 理解 1、形式上来说&#xff0c;e(x)和e(xdx)并没有任何区别&#xff0c;以为dx本身就是小量&#xff0c;只要xdx还在作用域&#xff1f;内&#xff0c;函数的意思就是一样的。 更土一点…

x 的平方根(牛顿迭代法)

x 的平方根 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根&#xff0c;其中 x 是非负整数。 由于返回类型是整数&#xff0c;结果只保留整数的部分&#xff0c;小数部分将被舍去。也就是说向下取整. 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根…

025 导数的四则求导法则之u+v、uv、u/v求导

025 导数的四则求导法则之uv及uv u/v求导

幂函数导数公式的推导

1 幂函数的定义域 【引理】 设幂函数 f ( x ) x α ( α ∈ R ) f(x)x^\alpha(\alpha\in R) f(x)xα(α∈R) 的定义域为 D α D_\alpha Dα​&#xff0c;则 &#xff08;1&#xff09;当 α 0 \alpha 0 α0&#xff0c; D α { x ∣ x ≠ 0 } D_\alpha\{x|x\neq 0\} Dα…

深度学习代码学习笔记(一)——阶跃函数与激活函数的python代码实现

今天正式开始学习深度学习&#xff0c;看的书是《深度学习入门——基于python的理论与实现》。 感知机使用阶跃函数作为激活函数&#xff0c;而神经网络使用 sigmoid 函数作为激活函数。 下面分别来用代码实现并绘制阶跃函数和激活函数的图形。 一、阶跃函数 阶跃函数以阈值…

TensorFlow2.0自动求导机制(tf.GradientTape的用法)

文章目录 1 使用tf.GradientTape()计算 y x 2 yx^2 yx2的导数2 当使用常量tf.constant时3 对多个数求导时4 使用求导机制进行线性回归的案例 在机器学习中&#xff0c;我们经常需要计算函数的导数&#xff0c;Tensorflow提供了自动求导机制来计算导数。 1 使用tf.GradientTape…

矩阵求导运算

基本公式&#xff1a;Y A * X --> DY/DX AY X * A --> DY/DX AY A * X * B --> DY/DX A * BY A * X * B --> DY/DX B * A 1. 矩阵Y对标量x求导&#xff1a; 相当于每个元素求导数后转置一下&#xff0c;注意MN矩阵求导后变成NM了 Y [y(ij)] --> dY/dx …

autograd-自动求导系统

torch.autograd 权值的更新需要求解梯度&#xff0c;pytorch提供了自动求导系统&#xff0c;我们只需要搭建前向传播计算图&#xff0c;由autograd的方法就可以得到所有张量的梯度。 其中最常用的方法是backward torch.autograd.backward() 功能&#xff1a;自动求取各个节点…

导数与微分 — 高等数学

文章目录 考点一&#xff1a;导数的定义函数在一点处的导数单侧导数&#xff08;1&#xff09;左导数&#xff08;2&#xff09;右导数 充要条件笔记 考点二&#xff1a;可导与连续的关系知识点笔记 考点三&#xff1a;导数的几何意义知识点切线方程、法线方程笔记 考点四&…

05 指数函数求导

2^x的求导 前面我们探索了一些常见函数的导数&#xff0c;但是指数函数是非常重要的一种类型。 1. 从几何上探索 设t为天数&#xff0c;P(t)为人口数量。离散的图 要想图像连续就得转成质量&#xff0c;所以P(t)换成M(t)。dM/dt就是质量的微小变化率和天数的微小变化量的比例…

23微分方程和exp(At)

预备知识 1.1 一阶线性齐次微分方程的解 d y d x P ( x ) y 0 (1) \frac{dy}{dx}P(x)y0\tag{1} dxdy​P(x)y0(1) 其齐次通解为&#xff1a; y C e − ∫ P ( x ) d x (2) yCe^{-\int P(x)dx}\tag{2} yCe−∫P(x)dx(2) 令 P ( x ) − λ P(x)-\lambda P(x)−λ&#xff0c…

人工智能数学基础:无理数e的由来以及对数、指数函数的求导

一、e的由来 函数&#xff08;11/x&#xff09;x在x一>∞时的极限 由于数列{xn}&#xff08;11/n&#xff09;n在n一>∞时存在极限。 证明如下&#xff1a; 当将上述极限推广到n为实数x时也成立&#xff0c;因为任意一个实数都能找到一个n和n1&#xff0c;使得x∈[n,n…

x的1/x次方的导数是多少?怎么算?

方法一&#xff1a; 原式化为e的[1/x•ln(x)]次幂&#xff0c;再根据复合函数求导法则求解。 方法二&#xff1a;

c语言x的n次方导数,a的x次方的导数

a的x次方的导数2019-12-07 13:56:28文/董月 指数函数的求导公式&#xff1a;(a^x)(lna)(a^x)&#xff0c;实质上&#xff0c;求导就是一个求极限的过程&#xff0c;导数的四则运算法则也来源于极限的四则运算法则。反之&#xff0c;已知导函数也可以倒过来求原来的函数&#xf…

软件流程图及功能节点图

需求分析 根据产品原型图&#xff0c;为了弄清楚产品的业务流程以及确定项目中存在的功能点及其具体规则和要求&#xff0c;绘制出软件流程图以及功能节点图&#xff0c;本文以赞赞羊项目为例。 1.软件流程图&#xff1a;作用是弄清楚项目的业务流程。 流程图符号说明&#xff…