Table 组件如何变更行数据

Table 变更行数据。

前提条件

  1. 必须为字段映射

  2. 需要打开可编辑

    image

操作步骤

  1. 创建一个动态 SQL 的集成 sql_run

    image

  2. 表格的数据列配置为可编辑。

    image

  3. 配置 Table 组件的 保存(save)事件。

    image

    //自定义数据转换类
    function value_conver(arr) {
        let key = arr[0];
        if (key == "create_time") {
            // 因为数据库创建时间定义类型为长整型,所以把时间字段转换为长整型类型保存进入数据库
            return key + " = " + new Date(arr[1]).getTime();
        } else if (key == 'state') {
            // 状态在数据库的定义为一个字符的长度
            return key + " = '" + arr[1].substring(0, 1) + "'";
        }
        // 默认处理为string类型的字段
        return key + " = '" + arr[1] + "'";
    }
    
    //批量SQL命令
    var sqls = [];
    table1.changedArray.forEach((a) => {
        //拼接变更数据表的字段
        let change = Object.entries(a).filter((a) => a[0] != 'key').map(value_conver).join(" ,");
        sqls.push("UPDATE todo SET " + change + " WHERE id = " + a.key);
    });
    sql_run.trigger({
        "sql": sqls.join(";")
    })