Skip to content

Commit 453f13b

Browse files
committed
chore(platform): update the model when modelList loaded
1 parent adb5f33 commit 453f13b

File tree

1 file changed

+20
-23
lines changed

1 file changed

+20
-23
lines changed

packages/platform/src/app/routes/list/standard-table/DeviceModal.tsx

+20-23
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ function DeviceModal(props: AppDeviceModalProps, ref: React.ForwardedRef<OpenSet
2222
const modelApi = useAPI('/device/model');
2323
const async = useAsync();
2424

25-
const [modelList, setModelList] = useState<DSelectItem<string>[]>();
26-
2725
const [visible, setVisible] = useState(false);
2826
const [device, setDevice] = useState<DeviceData>();
2927
const [form, updateForm] = useForm(
@@ -34,26 +32,31 @@ function DeviceModal(props: AppDeviceModalProps, ref: React.ForwardedRef<OpenSet
3432
})
3533
);
3634

35+
const [modelList, setModelList] = useState<DSelectItem<string>[]>();
36+
3737
const open = useEventCallback<OpenSettingFn<DeviceData>>((device) => {
3838
setVisible(true);
3939
setDevice(device);
4040

41-
form.reset(device ? { name: device.name, model: device.model } : undefined);
41+
form.reset(device ? { name: device.name } : undefined);
4242
updateForm();
4343

44-
if (isUndefined(modelList)) {
45-
modelApi.list().subscribe({
46-
next: (res) => {
47-
setModelList(
48-
res.resources.map((model) => ({
49-
label: model.name,
50-
value: model.name,
51-
disabled: model.disabled,
52-
}))
53-
);
54-
},
55-
});
56-
}
44+
setModelList(undefined);
45+
modelApi.list().subscribe({
46+
next: (res) => {
47+
setModelList(
48+
res.resources.map((model) => ({
49+
label: model.name,
50+
value: model.name,
51+
disabled: model.disabled,
52+
}))
53+
);
54+
if (device) {
55+
form.patchValue({ model: device.model });
56+
updateForm();
57+
}
58+
},
59+
});
5760
});
5861

5962
useImperativeHandle(ref, () => open, [open]);
@@ -88,13 +91,7 @@ function DeviceModal(props: AppDeviceModalProps, ref: React.ForwardedRef<OpenSet
8891
</DForm.Item>
8992
<DForm.Item dFormControls={{ model: 'Please select model!' }} dLabel="Model">
9093
{({ model }) => (
91-
<DSelect
92-
dFormControl={modelList ? model : undefined}
93-
dList={modelList ?? []}
94-
dLoading={isUndefined(modelList)}
95-
dPlaceholder="Model"
96-
dClearable
97-
/>
94+
<DSelect dFormControl={model} dList={modelList ?? []} dLoading={isUndefined(modelList)} dPlaceholder="Model" dClearable />
9895
)}
9996
</DForm.Item>
10097
</DForm.Group>

0 commit comments

Comments
 (0)