File tree Expand file tree Collapse file tree
views/system/config/storage Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -199,9 +199,17 @@ const updateValue = (value: any, field: string) => {
199199 emit (' update:modelValue' , Object .assign (props .modelValue , { [field ]: value }))
200200}
201201
202+ /** 必填项 */
203+ const isRequired = (item : ColumnItem ) => {
204+ if (typeof item .required === ' boolean' ) return item .required
205+ if (typeof item .required === ' function' ) {
206+ return item .required (props .modelValue )
207+ }
208+ }
209+
202210/** 表单项校验规则 */
203211const getFormItemRules = (item : ColumnItem ) => {
204- if (item . required ) {
212+ if (isRequired ( item ) ) {
205213 const defaultProps = getComponentBindProps (item )
206214 return [{ required: true , message: defaultProps .placeholder || ` 请输入${item .label } ` }, ... (Array .isArray (item .rules ) ? item .rules : [])]
207215 }
Original file line number Diff line number Diff line change @@ -203,8 +203,8 @@ export interface ColumnItem<F = any> {
203203 props ?: ColumnItemProps
204204 gridItemProps ?: A . GridItemProps
205205 formItemProps ?: Omit < A . FormItemInstance [ '$props' ] , 'label' | 'field' > // a-form-item的props
206- required ?: boolean // 是否必填
207206 rules ?: A . FormItemInstance [ '$props' ] [ 'rules' ] // 表单校验规则
207+ required ?: ColumnItemHide < F > // 是否必填
208208 hide ?: ColumnItemHide < F > // 是否隐藏
209209 show ?: ColumnItemShow < F > // 是否显示(优先级比hide高)
210210 disabled ?: ColumnItemDisabled < F > // 是否禁用
Original file line number Diff line number Diff line change 88 @before-ok =" save"
99 @close =" reset"
1010 >
11- <GiForm ref="formRef" v-model =" form " :columns =" columns " />
11+ <GiForm ref="formRef" v-model =" form " :columns =" columns " >
12+ <template #secretKey >
13+ <a-input
14+ v-model =" form.secretKey"
15+ :placeholder =" isUpdate ? '保持 Secret Key 为空将不更改' : '请输入 Secret Key'"
16+ />
17+ </template >
18+ </GiForm >
1219 </a-modal >
1320</template >
1421
@@ -77,7 +84,7 @@ const columns: ColumnItem[] = reactive([
7784 field: ' secretKey' ,
7885 type: ' input' ,
7986 span: 24 ,
80- required: true ,
87+ required : () => ! isUpdate . value ,
8188 show : () => form .type === 2 ,
8289 },
8390 {
@@ -165,7 +172,7 @@ const save = async () => {
165172 if (isUpdate .value ) {
166173 await updateStorage ({
167174 ... form ,
168- secretKey: form .type === 2 && ! form .secretKey . includes ( ' * ' ) ? encryptByRsa (form .secretKey ) || ' ' : null ,
175+ secretKey: form .type === 2 && form .secretKey ? encryptByRsa (form .secretKey ) || ' ' : null ,
169176 }, dataId .value )
170177 Message .success (' 修改成功' )
171178 } else {
You can’t perform that action at this time.
0 commit comments