@@ -22,8 +22,6 @@ function DeviceModal(props: AppDeviceModalProps, ref: React.ForwardedRef<OpenSet
22
22
const modelApi = useAPI ( '/device/model' ) ;
23
23
const async = useAsync ( ) ;
24
24
25
- const [ modelList , setModelList ] = useState < DSelectItem < string > [ ] > ( ) ;
26
-
27
25
const [ visible , setVisible ] = useState ( false ) ;
28
26
const [ device , setDevice ] = useState < DeviceData > ( ) ;
29
27
const [ form , updateForm ] = useForm (
@@ -34,26 +32,31 @@ function DeviceModal(props: AppDeviceModalProps, ref: React.ForwardedRef<OpenSet
34
32
} )
35
33
) ;
36
34
35
+ const [ modelList , setModelList ] = useState < DSelectItem < string > [ ] > ( ) ;
36
+
37
37
const open = useEventCallback < OpenSettingFn < DeviceData > > ( ( device ) => {
38
38
setVisible ( true ) ;
39
39
setDevice ( device ) ;
40
40
41
- form . reset ( device ? { name : device . name , model : device . model } : undefined ) ;
41
+ form . reset ( device ? { name : device . name } : undefined ) ;
42
42
updateForm ( ) ;
43
43
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
+ } ) ;
57
60
} ) ;
58
61
59
62
useImperativeHandle ( ref , ( ) => open , [ open ] ) ;
@@ -88,13 +91,7 @@ function DeviceModal(props: AppDeviceModalProps, ref: React.ForwardedRef<OpenSet
88
91
</ DForm . Item >
89
92
< DForm . Item dFormControls = { { model : 'Please select model!' } } dLabel = "Model" >
90
93
{ ( { 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 />
98
95
) }
99
96
</ DForm . Item >
100
97
</ DForm . Group >
0 commit comments