mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-03-05 17:57:13 +00:00
fix: 修复 stage 里数据无法跟随 field 数据更新
Link: https://code.aone.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/codereview/6988263 * fix: 修复 stage 里数据无法跟随 field 数据更新
This commit is contained in:
parent
5cb4313ad5
commit
bb73eeecc5
@ -108,15 +108,17 @@ class SettingFieldView extends Component<{ field: SettingField }> {
|
|||||||
let _onChange = extraProps?.onChange;
|
let _onChange = extraProps?.onChange;
|
||||||
let stageName;
|
let stageName;
|
||||||
if (display === 'entry') {
|
if (display === 'entry') {
|
||||||
|
stageName = `${field.getNode().id }_${field.name.toString()}`;
|
||||||
|
// 清除原 stage,不然 content 引用的一直是老的 field,导致数据无法得到更新
|
||||||
|
stages.container.remove(stageName);
|
||||||
const stage = stages.add({
|
const stage = stages.add({
|
||||||
type: 'Widget',
|
type: 'Widget',
|
||||||
name: `${field.getNode().id }_${field.name.toString()}`,
|
name: stageName,
|
||||||
content: <Fragment>{field.items.map((item, index) => createSettingFieldView(item, field, index))}</Fragment>,
|
content: <Fragment>{field.items.map((item, index) => createSettingFieldView(item, field, index))}</Fragment>,
|
||||||
props: {
|
props: {
|
||||||
title: field.title,
|
title: field.title,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
stageName = stage.name;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return createField(
|
return createField(
|
||||||
@ -192,15 +194,17 @@ class SettingGroupView extends Component<{ field: SettingField }> {
|
|||||||
|
|
||||||
let stageName;
|
let stageName;
|
||||||
if (display === 'entry') {
|
if (display === 'entry') {
|
||||||
const stage = stages.add({
|
stageName = `${field.getNode().id }_${field.name.toString()}`;
|
||||||
|
// 清除原 stage,不然 content 引用的一直是老的 field,导致数据无法得到更新
|
||||||
|
stages.container.remove(stageName);
|
||||||
|
stages.add({
|
||||||
type: 'Widget',
|
type: 'Widget',
|
||||||
name: `${field.getNode().id }_${ field.name.toString()}`,
|
name: stageName,
|
||||||
content: <Fragment>{field.items.map((item, index) => createSettingFieldView(item, field, index))}</Fragment>,
|
content: <Fragment>{field.items.map((item, index) => createSettingFieldView(item, field, index))}</Fragment>,
|
||||||
props: {
|
props: {
|
||||||
title: field.title,
|
title: field.title,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
stageName = stage.name;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo: split collapsed state | field.items for optimize
|
// todo: split collapsed state | field.items for optimize
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user