码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • (vue)iView 表格点击编辑按钮后编辑当前行


    (vue)iView 点击编辑按钮后编辑当前行

    点击前:
    在这里插入图片描述
    点击后:
    在这里插入图片描述

    第一部分:

          <Table
              ref="selection"
              :columns="columns"
              :data="tableData"
              @on-selection-change="handleSelectChange"
            > 
         </Table>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    第二部分:

          //表格
          columns: [
            {
              type: "selection",
              width: 60,
              align: "center",
            },
            {
              title: "标签",
              key: "label",
              align: "center",
              render: (h, params) => {
                if (params.row.$isEdit) {
                  return h(
                    "Select",
                    {
                      props: {
                        value: params.row.label,
                        transfer: true,
                      },
                      on: {
                        "on-change": (value) => {
                          params.row.label = value; 
                          // this.tableData[params.index].label = value;
                        },
                      },
                    },
                    this.labelList.map((item) => {
                      return h(
                        "Option",
                        {
                          props: {
                            value: item,
                          },
                        },
                        item
                      );
                    })
                  );
                } else {
                  return h("div", params.row.label);
                }
              },
            },
            {
              title: "实体",
              key: "entity",
              align: "center", 
              render: (h, params) => {
                if (params.row.$isEdit) {
                  return h("input", {
                    domProps: {
                      value: params.row.entity,
                    },
                    on: {
                      input: function (event) {
                        params.row.entity = event.target.value;
                      },
                    },
                  });
                } else {
                  return h("div", params.row.entity);
                }
              },
            },
            {
              title: "关系",
              key: "relation",
              align: "center", 
              //...同上
            },
            {
              title: "描述",
              key: "desc",
              align: "center", 
              //...同上
            },
            {
              title: "操作",
              slot: "operation",
              align: "center",
              render: (h, params) => {
                return h(
                  "div",
                  {
                    style: {
                      display: "flex",
                      "justify-content": "center",
                      "align-items": "center",
                    },
                  },
                  [
                    h(
                      "span",
                      {
                        props: {
                          type: "text",
                          size: "small",
                        },
                        style: {
                          color: "#fc3925",
                          margin: "0 10px",
                        },
                        on: {
                          click: () => {
                            if (params.row.$isEdit) {
                              this.saveRow(params.row);
                            } else {
                              this.editRow(params.row);
                            }
                          },
                        },
                      },
                      params.row.$isEdit ? "保存" : "编辑"
                    ),
                    h(
                      "span",
                      {
                        props: {
                          type: "text",
                          size: "small",
                        },
                        style: {
                          color: "#fc3925",
                          margin: "0 10px",
                        },
                        on: {
                          click: () => {
                            this.deleteRow(params.row);
                          },
                        },
                      },
                      "删除"
                    ),
                  ]
                );
              },
            },
          ],
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139

    第三部分:

        //编辑
        editRow(row, index) {
          this.$set(row, "$isEdit", true); 
        },
        //保存
        saveRow(row, index) {
          this.$set(row, "$isEdit", false); 
        },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    解决参考:
    https://blog.csdn.net/shentibeitaokong/article/details/82464488?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-82464488-blog-86480028.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-82464488-blog-86480028.pc_relevant_multi_platform_whitelistv3&utm_relevant_index=1

    https://blog.csdn.net/flydesigner/article/details/86480028?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-1-86480028-blog-88613290.pc_relevant_multi_platform_whitelistv1&spm=1001.2101.3001.4242.2&utm_relevant_index=4

    https://blog.csdn.net/weixin_34418883/article/details/88613290?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-88613290-blog-123058591.pc_relevant_sortByStrongTime&spm=1001.2101.3001.4242.1&utm_relevant_index=3

    https://blog.csdn.net/sxl97616/article/details/123058591

  • 相关阅读:
    互联网架构演进之路
    SpringBoot整合mybatis
    Kotlin系列之注解详解
    基于RabbitMQ构建延迟队列
    【效率翻倍】 推荐一款提高Python编程效率的神器
    【数学建模暑期培训】线性回归模型
    031.Python面向对象_类&补充_内置私有属性&特殊方法
    JavaScript基本功之迭代器(iterator)的使用和原理
    Javascript中常用方法
    安全渗透测试之信息收集
  • 原文地址:https://blog.csdn.net/qq_44754635/article/details/126155117
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号