1. 场景
当我们使用第三方接口获取到数据时,我们希望将获取到的数据处理成子表中下拉单选组件的选项值,选择后并进行数据提交。
当我们使用第三方接口获取到数据时,我们希望将获取到的数据处理成子表中下拉单选组件的选项值,选择后并进行数据提交。
使用第三方接口获取数据,在这里我们新建一个表单,并且使用页面数据源接口获取数据。
参考文档:宜搭平台接口
由于下拉单选组件赋值的格式为 [{ "text": "123", "value": "123" }],因此我们需要将数据处理成该格式,这里需要将 text 与 value 值保持一致。
参考代码如下:
function didFetch(content) { const value = []; const data = content.data.map((item) => { let arr = { text: item.formData.textField_kqvnu2vz, value: item.formData.textField_kqvnu2vz, } value.push(arr); console.log(arr); }) return value; }
在表单页面加载完成时执行,加载数据源获取处理好的数据 res 并将 res 赋值给子表中下拉单选组件的DataSource,如图:
参考代码如下:
export function didMount() { console.log(`「页面 JS」:当前页面地址 ${location.href}`); // console.log(`「页面 JS」:当前页面 id 参数为 ${this.state.urlParams.id}`); // 更多 this 相关 API 请参考:https://aliwork.com/developer/API // document.title = window.loginUser.userName + ' | 宜搭'; this.dataSourceMap["getDatas"].load().then(res => { const tableField = this.$('子表唯一标识'); const data = tableField.getItems()[tableField.getItems().length - 1] tableField.setComponentProps(data, '下拉单选唯一标识', { dataSource: res }); }) }
子表单添加“onAddClick 点击添加”动作事件,当添加时自动给下拉单选赋值选项值。
参考代码如下:
export function onAddClick(newGroupId) { console.log('点击添加'); this.dataSourceMap["getDatas"].load().then(res => { const tableField = this.$('tableField_kqvnua5s'); const data = tableField.getItems()[tableField.getItems().length - 1]; console.log(data) tableField.setComponentProps(data, 'selectField_kqvnua5w', { dataSource: res }); }) }
无雀数字化公众号
无雀数字化抖音号