位置: IT常识 - 正文

Vue+EleMentUI实现el-table-colum表格select下拉框可编辑(element ui+vue)

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

推荐整理分享Vue+EleMentUI实现el-table-colum表格select下拉框可编辑(element ui+vue),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:elements vue,vue中elementui怎么用,elementui基于vue,vue中elementui怎么用,vue+element-ui,vue-element-ui,vue+element-ui,vue-element-ui,内容如对您有帮助,希望把文章链接给更多的朋友!

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

效果图:Vue+EleMentUI实现el-table-colum表格select下拉框可编辑(element ui+vue)

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" clearable v-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.data if (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 = row if(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.supplierId return } } },4、保存当前列,成功后重新加载数据async saveHandle(row) { console.log("saveHandle row===", row) row.status = row.status ? 1 : 0 const res = await this.$http({ url: `/purchase/purchasesinboundorder/update`, method: 'post', data: this.$http.adornData(row) }); let data = res.data if (data && data.code !== 0) { row.status = !row.status; return this.$message.error('修改失败!'); } this.$message.success('更新成功!'); this.getDataList(); },5、定义v-focusdirectives: { // 通过自定义指令实现的表单自动获得光标的操作 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() } } },
本文链接地址:https://www.jiuchutong.com/zhishi/283793.html 转载请保留说明!

上一篇:root面具怎么授权,面具root权限(root面具怎么用)

下一篇:Linux基金会官网公布最佳Linux发行版名单详解(哪一年底,由linux基金会成立?)

  • 留底退税怎么做账务处理
  • 出租房屋转为投资房屋
  • 国债利息属于免税吗
  • 收到个税手续费返还增值税税率
  • 预交增值税附税税率
  • 已经缴税的发票还能作废吗
  • 公对公退款要交税吗
  • 已出库未开票要交税吗
  • 换工作个税申报忘记更改
  • 如何建设工厂
  • 应收账款核销后收回
  • 划拨土地使用权多少年
  • 公司交增值税的好处
  • 税收成本如何影响税收管理制度
  • 小规模纳税人没有成本票怎么做账
  • 民非企业补贴收入要缴纳增值税会计分录怎么写?
  • 旧税号的发票专用章还能使用吗
  • 旅行社差额征税增值税申报表怎么填
  • 代开专票作废需要什么资料?
  • 高新技术企业退税比例是多少
  • 进口车关税怎么抵扣
  • 政府补贴专项资金如何入账
  • 资产委托经营管理合同
  • 结息的会计分录怎么写
  • 个人所得税申报晚了一天会干什么
  • 工程项目预缴税金
  • 未开票收入可以不开票吗
  • 佳能2900打印机加碳粉教程
  • 最新早上好图片大全集
  • 销售商品分期收款,减免一部分货款怎么做账
  • php判断查询是否有结果
  • arm on windows
  • ipados15什么时候发布
  • 欠条和收条,哪个更真实
  • 进程rundll32
  • 会计凭证应该怎么写
  • php ftp上传文件
  • 小米路由器599元
  • 现金日记账怎么记账
  • php字符串包含某个字符串
  • 贝尔·菲戈尔
  • 取得海关专用缴款书的会计分录
  • 投资收益会计准则
  • php用于输出的有哪些方式
  • 模型如何优化
  • Vue3【Transition(效果、CSS 过渡、使用animation、TransitionGroup、 KeepAlive、Teleport )】(七)-全面详解(学习总结---从入门到深化)
  • lua命令库
  • 如果没有抄税就申报了
  • 借款可以抵货款吗
  • 金税盘减免税款月末如何结转
  • 用友u8固定资产减少怎么撤销
  • 买方的现金折扣会计分录
  • 购进固定资产没有发票怎么入账
  • 存货期末计提减值准备影响当期所得税费用
  • 公司购买的公司用车
  • 企业利润分配应当遵循的原则
  • 固定资产机械设备有哪些
  • 材料报废处理
  • 上年未结转金额是什么意思
  • 营业税包含
  • 哪些税费计入税金及附加科目
  • sql多表连接查询效率
  • microsoft ime进程
  • win8系统怎么设置桌面
  • Win10系统如何使用虚拟光驱加载ISO镜像文件?
  • 屏幕适配android常用方法
  • jQuery插件封装时如要实现链式编程,需要
  • opengl绘制坐标轴
  • js类的使用
  • jquery按钮点击事件
  • dos 改名
  • js判断数据是否存在
  • Nodejs之http的表单提交
  • 深入理解新发展理念
  • web miui
  • css中position的用法
  • 手游炫酷
  • 陕西新版电子税务局怎么使用
  • 西北地区的沙尘暴
  • 电信宽带欠费滞纳金最多减免多少?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设