x-extends / vxe-table

Vxe table 的表格组件
https://vxetable.cn
MIT License
7.61k stars 1.05k forks source link

为正在编辑的行赋值问题 #109

Closed maxmeng93 closed 5 years ago

maxmeng93 commented 5 years ago

描述 Describe

我使用 打开了一个modal ,里面嵌套了一个表格,点击表格,然后把点击的表格数据回填到正在编辑的表格上。

  1. 原来我使用的方法是:新增一行时为表格新增一行数据,然后把这行数据开启编辑,但是回填数据的时候,因为tableData改变了,所以造成了表格重新渲染,正在编辑的状态丢失,需要重新开启编辑
  2. 现在使用的方法是: xTable.insert({id: -1}).then(({row}) => { xTable.setActiveRow(row); }),这样新增一可编辑行,但是没有找到如何设置、修改数据的方法。没有办法把modal上的数据回填到表格上

image

请提供能重现问题的链接(jsfiddlecodepenjsrun) Expected behavior

请填写以下版本信息 please complete the following information

maxmeng93 commented 5 years ago

如果那个a-input-select 的field为name,

xTable.insert({id: -1, name: '名称'}).then(({row}) => {
    console.log(row.name); // 名称 
});

但是,输入框却不会显示 ‘名称’ 这两个字,还是空白

maxmeng93 commented 5 years ago

现在看来,可能还是要用我第一种方法,只是需要每次赋值后再开启编辑

maxmeng93 commented 5 years ago

使用第二种方法也有问题,再次开启编辑后,编辑框还是为空

image

xuliangzhan commented 5 years ago

没发现有赋值不生效问题,你应该检查写法

maxmeng93 commented 5 years ago

你可以看我最后一张gif图,取消掉注释代码后,选择模态框中的数据后,名称没有显示,其他编号,类型没有输入框的都显示了

maxmeng93 commented 5 years ago

demo 我明天提供

maxmeng93 commented 5 years ago

还有我想知道,使用 insert 插入的数据应该使用什么方法 获取、修改、保存,因为它并不在我为vxe-grid传入的data里

xuliangzhan commented 5 years ago

任何动态插入的数据都不会同步数据源,可以通过 getInsertRecords 获取 或者直接操作数据源,比如 tableData.push({}),这个是可以通过数据源获取到的

xuliangzhan commented 5 years ago

增删改查的数据获取你应该看 api

maxmeng93 commented 5 years ago

a-input-search 没有显示,是因为 <a-input-search size="small" value={row[column.property]} onSearch={this.selectPrimer}/> 中的 value={row[column.property]} 忘记写了,导致组件和值没有绑定。