diff --git a/packages/components/form/__tests__/form-item.test.tsx b/packages/components/form/__tests__/form-item.test.tsx
index ec1a96faf4..8f3645f2ee 100644
--- a/packages/components/form/__tests__/form-item.test.tsx
+++ b/packages/components/form/__tests__/form-item.test.tsx
@@ -133,6 +133,43 @@ describe('ElFormItem', () => {
})
})
+ it('form-item label for', async () => {
+ const wrapper = mount({
+ setup() {
+ const form = reactive({
+ name: '',
+ email: '',
+ address: '',
+ })
+
+ return () => (
+
+
+
+ )
+ },
+ })
+
+ await nextTick()
+ const [name, email, address] = wrapper
+ .findAll('.el-form-item__label')
+ .map((el) => el.element.tagName.toLowerCase())
+
+ expect(name).toBe('label')
+ expect(email).toBe('div')
+ expect(address).toBe('label')
+ })
+
it('form-item label position', () => {
const wrapper = mount({
setup() {
diff --git a/packages/components/form/src/form-item.vue b/packages/components/form/src/form-item.vue
index 83e5b72f69..4bf524ef6c 100644
--- a/packages/components/form/src/form-item.vue
+++ b/packages/components/form/src/form-item.vue
@@ -168,7 +168,7 @@ const hasLabel = computed(() => {
const labelFor = computed(() => {
return (
- props.for || (inputIds.value.length === 1 ? inputIds.value[0] : undefined)
+ props.for ?? (inputIds.value.length === 1 ? inputIds.value[0] : undefined)
)
})