码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vue el-table字段点击出现el-input输入框,失焦保存


    一、效果展示

    • 当没有数据初始化展示如下:

    • 有数据展示数据,点击出现输入框, 失焦保存修改

    二、代码实现

    1. <el-table
    2. ref="table"
    3. size="mini"
    4. height="100%"
    5. :data="tableData"
    6. @cell-click="cellClick"
    7. >
    8. <el-table-column width="100" label="排序" show-overflow-tooltip>
    9. <template slot-scope="scope">
    10. <span
    11. v-if="
    12. scope.row.index === dbClickIndex &&
    13. dbClickLabel === '排序'
    14. "
    15. >
    16. <el-input
    17. ref="sortNumRef"
    18. v-model="sortNum"
    19. placeholder="请输入"
    20. @blur="inputBlur(scope.row)"
    21. :pattern="numberPattern"
    22. />
    23. span>
    24. <div v-else>
    25. <div class="flex_between cursor_pointer">
    26. <span
    27. :style="{ color: !scope.row.sortNum ? '#bbb' : '' }"
    28. >{{ scope.row.sortNum || '请输入' }}
    29. >
    30. <i class="el-icon-edit" style="color: #1989fe">i>
    31. div>
    32. div>
    33. template>
    34. el-table-column>
    35. el-table>
    36. data() {
    37. return {
    38. sortNum: null,
    39. dbClickIndex: null, // 点击的单元格
    40. dbClickLabel: '', // 当前点击的列名
    41. numberPattern: '[1-9]\\d*', // 正则表达式,限制只能输入正整数
    42. }
    43. }
    44. methods:{
    45. // row 当前行 column 当前列
    46. cellClick(row, column, cell, event) {
    47. if (column.label === '排序') {
    48. this.dbClickIndex = row.index
    49. this.dbClickLabel = column.label
    50. this.sortNum = row.sortNum
    51. //聚焦input
    52. this.$nextTick(() => {
    53. this.$refs.sortNumRef.focus()
    54. })
    55. }
    56. },
    57. // 失去焦点初始化
    58. inputBlur(row, event, column) {
    59. this.editThemeIndex(row)
    60. this.dbClickIndex = null
    61. this.dbClickLabel = ''
    62. this.sortNum = null
    63. },
    64. // 编辑主题指标列表-排序字段
    65. editThemeIndex(row) {
    66. if (this.sortNum === row.sortNum) return
    67. const params = {
    68. sortNum: Number(this.sortNum) || '',
    69. id: row.id
    70. }
    71. //接口请求
    72. xxxApi(params).then((res) => {
    73. if (res.code === 200) {
    74. this.$message.success('修改成功')
    75. this.refreshClick()
    76. }
    77. })
    78. },
    79. // 刷新
    80. refreshClick(val) {
    81. this.pages.pageIndex = 1
    82. this.initTable()
    83. }
    84. }

  • 相关阅读:
    头部品牌集体扑街!2023年9月京东平板电视TOP10品牌排行榜出炉
    Prometheus-Prometheus安装及其配置
    独立站建站实操:斗篷使用、AB收款【FP商家不能错过】
    steamui.dll找不到指定模块,要怎么修复steamui.dll文件
    大学生静态HTML网页源码——佛山旅游景点介绍网页代码 家乡旅游网页制作模板 web前端期末大作业
    JVM调优工具使用手册
    Spring底层
    【ICIP2022】提高对抗攻击的迁移性(在注意力空间下扰动的多样性生成)
    【MATLAB高级编程】第一篇 | 矩阵操作
    护眼灯显色指数应达多少?适合学生的护眼台灯推荐
  • 原文地址:https://blog.csdn.net/weixin_47978760/article/details/134509018
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号