列表附件添加自定义列

场景描述

在列表形式的附件中增加列,输入值存储到附件的json数组中

实现思路

在附件组件的表格列渲染事件中,添加列,列中添加输入框组件,输入框的value属性绑定json的key,在输入框的onChange事件中将值写入json

实现步骤

例如在附件中增加版本号列,存入json的version中

onUpload0OnTableColumnRender(event){
    //定义一个新的列
    let col1 ={
        title: '版本号',
        ellipsis: {
            showTitle: true,
        },
        render: (file) => (
            <Input placeholder="请输入版本号" value={file.version} onChange={(value)=>{
                //获取数据集中附件列中的数据
                let str = event.source.getValue();
                //转为json数组
                let files = JSON.parse(str);
                //遍历json数组,参数file是当前文件的json,和数据中的storeFileName对比,找到当前文件的json对象,将输入框中的值写入json对象
                for(let oneFile of files){
                    if(oneFile.storeFileName == file.storeFileName){
                        oneFile.version = value.target.value;
                    }
                }
                //保存到数据集
                event.source.doChange({value:JSON.stringify(files)});
            }}/>
        )
    };
    //加入到表格中
    event.data.tableColumns.push(col1);
}

results matching ""

    No results matching ""

    results matching ""

      No results matching ""