有些参照关联的值是可以直接在前台取出来的,有些不行,需要在编辑后事件中再取一次后台:
编辑后事件配置:
{createForm(this.formId, {
//expandArr: [this.accinfo],
onAfterEvent: this.onAfterEvent.bind(this),
onBeforeEvent: this.onBeforeEvent.bind(this)
})}
事件实现:参照的有些关联值是可以在value中直接取出的,取不到的需要调用后台Action来得到
/*
@param {} props
@param {} moduleId 区域id
@param {} key 操作的键
@param {} value 当前值,参照的部分关联项
@param {} changedrows 新旧值集合
*/
onAfterEvent = (props, moduleId, key, value, changedrows) => {
let dataParam = {};
switch (key) {
case ‘cmaterialvid’:{
ajax({
url: this.ajaxurl[‘afterEvnUrl’],
data: {
key: ‘cmaterialvid’,
value: value[‘value’]
},
success: (res) => {
let { success, data } = res;
let {measureinfo} = data;
if (success) {
if (value[‘value’] && value[‘values’]) {
dataParam = {
‘cmaterialvid.name’: value.values[‘name’],
‘cmaterialvid.version’: value.values[‘version’],
‘cmaterialvid.materialspec’: value.values[‘materialspec’],
‘cmaterialvid.materialtype’: value.values[‘materialtype’]
};
} else {
dataParam = {
‘cmaterialvid.name’: nullValue,
‘cmaterialvid.version’: nullValue,
‘cmaterialvid.materialspec’: nullValue,
‘cmaterialvid.materialtype’: nullValue
};
}
dataParam = {…dataParam, …measureinfo};
this.props.form.setFormItemsValue(this.formId, dataParam);
}
}
});
break;
}
……
