Commit 765064a190b1a24dfb9ae808e99807ddae2ed212
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 赋值错误的问题
Showing
2 changed files
with
7 additions
and
3 deletions
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 |