perf: 表单需要通过权限控制是否需要展示,dependencies.if 这种方式需要别triggerFields触发字段,不能满足要求 (#6756)

This commit is contained in:
pangyajun123 2025-09-23 23:48:27 +08:00 committed by GitHub
parent a8b848d367
commit 26f8d2aa30
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 2 deletions

View File

@ -473,6 +473,8 @@ export interface FormSchema<
fieldName: string; fieldName: string;
/** 帮助信息 */ /** 帮助信息 */
help?: CustomRenderType; help?: CustomRenderType;
/** 是否隐藏表单项 */
hide?: boolean;
/** 表单的标签如果是一个string会用于默认必选规则的消息提示 */ /** 表单的标签如果是一个string会用于默认必选规则的消息提示 */
label?: CustomRenderType; label?: CustomRenderType;
/** 自定义组件内部渲染 */ /** 自定义组件内部渲染 */

View File

@ -41,6 +41,7 @@ const {
emptyStateValue, emptyStateValue,
fieldName, fieldName,
formFieldProps, formFieldProps,
hide,
label, label,
labelClass, labelClass,
labelWidth, labelWidth,
@ -95,7 +96,7 @@ const currentRules = computed(() => {
}); });
const visible = computed(() => { const visible = computed(() => {
return isIf.value && isShow.value; return !hide && isIf.value && isShow.value;
}); });
const shouldRequired = computed(() => { const shouldRequired = computed(() => {
@ -283,7 +284,7 @@ onUnmounted(() => {
<template> <template>
<FormField <FormField
v-if="isIf" v-if="!hide && isIf"
v-bind="fieldProps" v-bind="fieldProps"
v-slot="slotProps" v-slot="slotProps"
:name="fieldName" :name="fieldName"

View File

@ -255,6 +255,8 @@ export interface FormSchema<
fieldName: string; fieldName: string;
/** 帮助信息 */ /** 帮助信息 */
help?: CustomRenderType; help?: CustomRenderType;
/** 是否隐藏表单项 */
hide?: boolean;
/** 表单项 */ /** 表单项 */
label?: CustomRenderType; label?: CustomRenderType;
// 自定义组件内部渲染 // 自定义组件内部渲染