mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-03-10 18:06:02 +00:00
fix: 😊修复arraysetter删除不更新问题
This commit is contained in:
parent
7f4df0950d
commit
9d8a7306a6
@ -85,7 +85,6 @@ export class ListSetter extends Component<ArraySetterProps, ArraySetterState> {
|
|||||||
private scrollToLast = false;
|
private scrollToLast = false;
|
||||||
onAdd() {
|
onAdd() {
|
||||||
const { items, itemsMap } = this.state;
|
const { items, itemsMap } = this.state;
|
||||||
debugger;
|
|
||||||
const { itemSetter } = this.props;
|
const { itemSetter } = this.props;
|
||||||
const initialValue = typeof itemSetter === 'object' ? (itemSetter as any).initialValue : null;
|
const initialValue = typeof itemSetter === 'object' ? (itemSetter as any).initialValue : null;
|
||||||
const item = this.props.field.createField({
|
const item = this.props.field.createField({
|
||||||
@ -104,18 +103,25 @@ export class ListSetter extends Component<ArraySetterProps, ArraySetterState> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onRemove(field: SettingField) {
|
onRemove(field: SettingField) {
|
||||||
const { items } = this.state;
|
const {onChange, itemSetter} = this.props;
|
||||||
|
const { items, itemsMap } = this.state;
|
||||||
let i = items.indexOf(field);
|
let i = items.indexOf(field);
|
||||||
|
const values = items.map((item) => {
|
||||||
|
return item.getValue();
|
||||||
|
});
|
||||||
if (i < 0) {
|
if (i < 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
items.splice(i, 1);
|
items.splice(i, 1);
|
||||||
|
values.splice(i, 1);
|
||||||
const l = items.length;
|
const l = items.length;
|
||||||
while (i < l) {
|
while (i < l) {
|
||||||
items[i].setKey(i);
|
items[i].setKey(i);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
itemsMap.delete(field.id);
|
||||||
field.remove();
|
field.remove();
|
||||||
|
onChange(values)
|
||||||
this.setState({ items: items.slice() });
|
this.setState({ items: items.slice() });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user