[https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/ed129500-9ee2-4dcf-acd2-6546905564e5](https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/ed129500-9ee2-4dcf-acd2-6546905564e5)

## 1、监听字段变化

你可通过ecode劫持weappEbdfpage的ExcelList组件，

并通过新增属性props.onCellChange（单元格修改），props.onDataChange（列表级修改，如增行删行，复制，设置背景色等），来实现单元格级别的监听

## 2、设置另一个字段的值

需要同时给底层表格组件grid和前台业务数据层同时设置数据，底层表格管控整体渲染，业务层数据管控实际保存的数据。

## 3、获取值并修改

针对cellChange的data内容，你可自行断点监听store.onCellChange方法，该方法提供两个参数，onCellChange = (value: any, info: any) =\> void  
第一个value为修改后的单元格数据，（被联动单元格的数据结构可自行触发onCellChange，打印并查看具体值的内容）

第二个info包含当前被修改单元格的columnName, rowIndex, rowData信息

```javascript
const store = window.ebdfListSdk.getListStore().excelListStore;
var columnName = '746177360030318593';//columnName为列字段中的fieldId
var selectValue = { dataOptions: newValue };//选择框类型
var inputValue = { content: '123123' };//文本框、数值等基础类型，更多类型，参考下面的 值说明
var valueObj = {formField:{id: columnName },...inputValue }
//更改底层excel组件状态值
store.refStore.grid.setValue(rowIndex, columnName, { dataOptions: newValue });//columnName为列字段中的fieldId,rowIndex为临时行序号，如果有新增行，则在已有序号的基础上递增
//更改编辑保存的真实值
store.onCellChange({ dataOptions: newValue }, { columnName, rowIndex, rowData });
```

```javascript
//值的说明
*      a. 文本组件{content: '123'};
*      b. 选项组件{dataOptions: [{optionId: 123,content: '123'}]};
*      c. 多行文本组件{dataText: {content: '123'}}
*      d. 日期区间，[{content: '', formField: {id: start.id}},{content: '', formField: {id: end.id}}]
*      e. 地理位置 {content: '',formField: {id:''},latitude: '',longitude: '',}
```

例如：

```
const store = window.ebdfListSdk.getListStore().excelListStore;
var columnId = '1055965933663887361';//
var value = { content: '123',formField:{id:columnId} }
store.refStore.grid.setValue(0, columnId, value);
store.onCellChange(value, { columnName:columnId, rowIndex:0 });
```
