diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index 4e0a131fcc4..0dbd885fbf6 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -4,6 +4,7 @@ - `BasicTree` 新增`clickRowToExpand`,用于单击树节点展开 - 新增 SvgIcon 插件及示例 +- 账号管理界面增加左侧部门树 ### ⚡ Performance Improvements @@ -22,6 +23,7 @@ - 修复账号管理新增未清空旧数据 - form 组件应允许 setFieldsValue 方法值为 null 或者 undefined - 确保单级面包屑正确跳转 +- 确保 Form 组件不校验隐藏的表单项 ## 2.0.2 (2021-03-04) diff --git a/src/components/Form/src/components/FormItem.tsx b/src/components/Form/src/components/FormItem.tsx index e2b6223a0d4..a2416a84260 100644 --- a/src/components/Form/src/components/FormItem.tsx +++ b/src/components/Form/src/components/FormItem.tsx @@ -97,7 +97,7 @@ export default defineComponent({ return disabled; }); - function getShow() { + function getShow(): { isShow: boolean; isIfShow: boolean } { const { show, ifShow } = props.schema; const { showAdvancedButton } = props.formProps; const itemIsAdvanced = showAdvancedButton @@ -151,6 +151,10 @@ export default defineComponent({ const { rulesMessageJoinLabel: globalRulesMessageJoinLabel } = props.formProps; if (requiredRuleIndex !== -1) { const rule = rules[requiredRuleIndex]; + const { isShow } = getShow(); + if (!isShow) { + rule.required = false; + } if (rule.required && component) { if (!Reflect.has(rule, 'type')) { rule.type = 'string'; diff --git a/src/components/Form/src/hooks/useFormEvents.ts b/src/components/Form/src/hooks/useFormEvents.ts index 305d91d55fc..a4609cb5c15 100644 --- a/src/components/Form/src/hooks/useFormEvents.ts +++ b/src/components/Form/src/hooks/useFormEvents.ts @@ -183,6 +183,7 @@ export function useFormEvents({ async function validateFields(nameList?: NamePath[] | undefined) { return unref(formElRef)?.validateFields(nameList); } + async function validate(nameList?: NamePath[] | undefined) { return await unref(formElRef)?.validate(nameList); } diff --git a/src/views/demo/system/account/account.data.ts b/src/views/demo/system/account/account.data.ts index e955e326ef7..c540cccc8a3 100644 --- a/src/views/demo/system/account/account.data.ts +++ b/src/views/demo/system/account/account.data.ts @@ -61,7 +61,7 @@ export const accountFormSchema: FormSchema[] = [ label: '密码', component: 'InputPassword', required: true, - show: true, + show: false, }, { label: '角色',