如上图所示,我希望上面选择成员可以给下面的子表单赋值,按理说公式编辑是可以的,但是没有效果,所以这篇文章就以JS为例,解决这个问题
一、给选择分配成员绑定一个onchange事件
二、直接点确定
三、输入代码
export function onChange({ value }) {
const tableField = this.$('tableField_lgx9lkoh');
const item = this.$('tableField_lgx9lkoh').getItems();
item.forEach(formGroupId=>{
tableField.updateItemValue(formGroupId, {employeeField_lh0i7m10:value})
})
}
我这里的 tableField_lgx9lkoh 是子表单的唯一标识,employeeField_lh0i7m10是子表单中成员字段的唯一标识,你们使用的时候替换就好。
具体怎么看如下图:
四、修改BUG
上面的代码只实现了选择分配成员被选择时,可以赋值给任务所属员工,但是如果子表单新增了一个,后面的就不能同步选择分配成员的数据,所以我给任务表单添加事件也新增了动作
然后输入如下代码
export function onAddClick(newGroupId){
const chooseValue = this.$('employeeField_lgx9lkof').getValue()
const tableField = this.$('tableField_lgx9lkoh');
const item = this.$('tableField_lgx9lkoh').getItems();
item.forEach(formGroupId => {
tableField.updateItemValue(formGroupId, { employeeField_lh0i7m10: chooseValue })
})
}
同样,我这里的 tableField_lgx9lkoh 是子表单的唯一标识,employeeField_lh0i7m10是子表单中成员字段的唯一标识,你们使用的时候替换就好。