@@ -27,6 +27,7 @@ export const CreateDatasourceModal = ({ visible, onClose, selectedRow, type, han
27
27
const [ enabled , setEnabled ] = useState ( true ) // 设置初始状态为 true
28
28
const [ selectedType , setSelectedType ] = useState ( null ) // 数据源类型
29
29
const [ submitLoading , setSubmitLoading ] = useState ( false )
30
+ const [ testLoading , setTestLoading ] = useState ( false )
30
31
31
32
// 禁止输入空格
32
33
const [ spaceValue , setSpaceValue ] = useState ( '' )
@@ -132,9 +133,14 @@ export const CreateDatasourceModal = ({ visible, onClose, selectedRow, type, han
132
133
133
134
const handleSubmit = async ( ) => {
134
135
setSubmitLoading ( true )
136
+ const values = form . getFieldsValue ( ) ;
137
+ await form . validateFields ( )
138
+ await handleFormSubmit ( values )
139
+ setSubmitLoading ( false )
135
140
}
136
141
137
142
const handleTestConnection = async ( ) => {
143
+ setTestLoading ( true )
138
144
// 获取表单数据
139
145
const values = await form . validateFields ( ) . catch ( ( err ) => null ) ;
140
146
const formattedLabels = values . labels ?. reduce ( ( acc , { key, value } ) => {
@@ -161,6 +167,7 @@ export const CreateDatasourceModal = ({ visible, onClose, selectedRow, type, han
161
167
} catch ( error ) {
162
168
console . error ( '连接测试失败:' , error ) ;
163
169
}
170
+ setTestLoading ( false )
164
171
} ;
165
172
166
173
return (
@@ -171,7 +178,11 @@ export const CreateDatasourceModal = ({ visible, onClose, selectedRow, type, han
171
178
size = 'large'
172
179
footer = {
173
180
< div style = { { display : 'flex' , justifyContent : 'space-between' , alignItems : 'center' } } >
174
- < Button type = "default" onClick = { handleTestConnection } >
181
+ < Button
182
+ type = "default"
183
+ onClick = { handleTestConnection }
184
+ loading = { testLoading }
185
+ >
175
186
连接测试
176
187
</ Button >
177
188
< Button
@@ -188,7 +199,7 @@ export const CreateDatasourceModal = ({ visible, onClose, selectedRow, type, han
188
199
</ div >
189
200
}
190
201
>
191
- < Form form = { form } name = "form_item_path" layout = "vertical" onFinish = { handleFormSubmit } >
202
+ < Form form = { form } name = "form_item_path" layout = "vertical" >
192
203
< MyFormItem
193
204
name = "name"
194
205
label = "数据源名称"
0 commit comments