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) ) })