diff --git a/packages/renderless/src/form-item/vue.ts b/packages/renderless/src/form-item/vue.ts index a34d443263..60e75d34b8 100644 --- a/packages/renderless/src/form-item/vue.ts +++ b/packages/renderless/src/form-item/vue.ts @@ -119,7 +119,7 @@ const initState = ({ validateIcon: computed(() => api.computedValidateIcon()), isErrorInline: computed(() => api.computedIsErrorInline()), isErrorBlock: computed(() => api.computedIsErrorBlock()), - disabled: computed(() => state.formInstance.disabled), + disabled: computed(() => state.formInstance.disabled || props.disabled), tooltipType: computed(() => state.formInstance.state.tooltipType), // 标记表单项下是否有多个子节点 isMultiple: false diff --git a/packages/theme-saas/src/form-item/index.less b/packages/theme-saas/src/form-item/index.less index 5a6edf4979..2f0393d6ab 100644 --- a/packages/theme-saas/src/form-item/index.less +++ b/packages/theme-saas/src/form-item/index.less @@ -185,6 +185,10 @@ @apply whitespace-nowrap; @apply text-ellipsis; @apply text-right; + + &.is-disabled { + @apply text-color-text-disabled; + } } &__content { diff --git a/packages/vue/src/form-item/src/mobile-first.vue b/packages/vue/src/form-item/src/mobile-first.vue index f462e32758..eaebb78d88 100644 --- a/packages/vue/src/form-item/src/mobile-first.vue +++ b/packages/vue/src/form-item/src/mobile-first.vue @@ -39,7 +39,7 @@ state.labelPosition === 'top' && !state.hideRequiredAsterisk ? 'overflow-visible relative before:absolute before:-left-2.5' : '', - state.disabled ? 'text-color-icon-placeholder sm:text-color-text-secondary' : 'text-color-text-secondary', + state.disabled ? 'text-color-icon-placeholder sm:text-color-text-disabled' : 'text-color-text-secondary', state.formItemSize !== 'mini' ? 'sm:text-sm' : 'sm:text-xs' ) " @@ -189,6 +189,10 @@ export default defineComponent({ type: Boolean, default: true }, + disabled: { + type: Boolean, + default: false + }, size: String, tipContent: String, validateDisabled: Boolean, diff --git a/packages/vue/src/form-item/src/pc.vue b/packages/vue/src/form-item/src/pc.vue index e026f3fe31..79bed48288 100644 --- a/packages/vue/src/form-item/src/pc.vue +++ b/packages/vue/src/form-item/src/pc.vue @@ -51,6 +51,10 @@ export default defineComponent({ type: Boolean, default: undefined }, + disabled: { + type: Boolean, + default: false + }, error: String, for: String, inlineMessage: { @@ -131,8 +135,8 @@ export default defineComponent({ typeof this.appendToBody === 'boolean' ? this.appendToBody : typeof formAppendToBody === 'boolean' - ? formAppendToBody - : true + ? formAppendToBody + : true const validatePosition = this.validatePosition || state.formInstance?.validatePosition || 'top-end' const popperOptions = { @@ -285,7 +289,8 @@ export default defineComponent({ { class: { [`${classPrefix}form-item__label`]: true, - 'is-ellipsis': isMobile && ellipsis + 'is-ellipsis': isMobile && ellipsis, + 'is-disabled': state.disabled }, style: state.labelStyle, attrs: {