Commit 765064a190b1a24dfb9ae808e99807ddae2ed212

Authored by Mikasa33
Committed by GitHub
1 parent bbf178f6

feat(form): requires Increase function type value (#649)

* feat(form): requires Increase function type value

* feat(form): requires Increase function type value

* fix(form): 修复 rules 赋值错误的问题
src/components/Form/src/components/FormItem.vue
@@ -174,8 +174,12 @@ @@ -174,8 +174,12 @@
174 return Promise.resolve(); 174 return Promise.resolve();
175 } 175 }
176 176
177 - if ((!rules || rules.length === 0) && required) {  
178 - rules = [{ required, validator }]; 177 + const getRequired = isFunction(required)
  178 + ? required(unref(getValues))
  179 + : required;
  180 +
  181 + if ((!rules || rules.length === 0) && getRequired) {
  182 + rules = [{ required: getRequired, validator }];
179 } 183 }
180 184
181 const requiredRuleIndex: number = rules.findIndex( 185 const requiredRuleIndex: number = rules.findIndex(
src/components/Form/src/types/form.ts
@@ -149,7 +149,7 @@ export interface FormSchema { @@ -149,7 +149,7 @@ export interface FormSchema {
149 }) => Recordable) 149 }) => Recordable)
150 | object; 150 | object;
151 // Required 151 // Required
152 - required?: boolean; 152 + required?: boolean | ((renderCallbackParams: RenderCallbackParams) => boolean);
153 153
154 suffix?: string | number | ((values: RenderCallbackParams) => string | number); 154 suffix?: string | number | ((values: RenderCallbackParams) => string | number);
155 155