Skip to content

Commit fdaf61d

Browse files
committed
fix: improve auto-selection logic
1 parent 6ec7ce4 commit fdaf61d

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

packages/shared/widget-plugin-grid/src/selection/createSelectionHelper.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -59,21 +59,21 @@ export function createSelectionHelper(
5959
add(cleanup);
6060
}
6161
if (helper.type === "Single" && config.autoSelect) {
62-
const dispose = autorun(() => {
63-
const { datasource, selection } = gate.props;
64-
const firstItem = datasource.items?.[0];
62+
const dispose = autorun(
63+
() => {
64+
const { datasource } = gate.props;
65+
const firstItem = datasource.items?.[0];
6566

66-
if (datasource.status === "available") {
67-
if (firstItem && !selection?.selection) {
68-
setTimeout(() => {
69-
if (!gate.props.selection?.selection) {
70-
(gate.props.selection as SelectionSingleValue)?.setSelection(firstItem);
71-
}
72-
}, 0);
67+
if (!firstItem) return;
68+
69+
if (helper.isSelected(firstItem)) {
70+
dispose();
71+
} else {
72+
helper.reduceTo(firstItem);
7373
}
74-
dispose();
75-
}
76-
});
74+
},
75+
{ delay: 100 }
76+
);
7777
add(dispose);
7878
}
7979
return disposeAll;

0 commit comments

Comments
 (0)