From 6cc9c222b3ea599e31cce95f41fd229dd0b2d9ee Mon Sep 17 00:00:00 2001 From: anlyyao Date: Tue, 7 Jan 2025 18:09:36 +0800 Subject: [PATCH] fix(Checkbox): fixed the issue that disabled is invalid when using options attribute --- .../__test__/__snapshots__/demo.test.jsx.snap | 24 +++++++++---------- src/checkbox/checkbox-group.tsx | 20 ++-------------- src/checkbox/checkbox.tsx | 6 ++--- src/checkbox/hooks/getOptions.ts | 1 - 4 files changed, 17 insertions(+), 34 deletions(-) diff --git a/src/checkbox/__test__/__snapshots__/demo.test.jsx.snap b/src/checkbox/__test__/__snapshots__/demo.test.jsx.snap index 793ca3ec4..800d19b01 100644 --- a/src/checkbox/__test__/__snapshots__/demo.test.jsx.snap +++ b/src/checkbox/__test__/__snapshots__/demo.test.jsx.snap @@ -37,7 +37,7 @@ exports[`Checkbox > Checkbox allVue demo works fine 1`] = `
- +
Checkbox allVue demo works fine 1`] = `
- +
Checkbox allVue demo works fine 1`] = `
- +
Checkbox baseVue demo works fine 1`] = `
- +
Checkbox baseVue demo works fine 1`] = `
- +
Checkbox baseVue demo works fine 1`] = `
- +
Checkbox mobileVue demo works fine 1`] = `
- +
Checkbox mobileVue demo works fine 1`] = `
- +
Checkbox mobileVue demo works fine 1`] = `
- +
Checkbox mobileVue demo works fine 1`] = `
- +
Checkbox mobileVue demo works fine 1`] = `
- +
Checkbox mobileVue demo works fine 1`] = `
- +
{ @@ -106,24 +107,7 @@ export default defineComponent({ return ( {optionList.value.map((item, idx) => ( - + ))} ); diff --git a/src/checkbox/checkbox.tsx b/src/checkbox/checkbox.tsx index ef240835a..d7f94ab56 100644 --- a/src/checkbox/checkbox.tsx +++ b/src/checkbox/checkbox.tsx @@ -78,9 +78,9 @@ export default defineComponent({ }); const isDisabled = computed(() => { - if (checkboxGroup?.max.value) - return checkboxGroup.max.value <= checkboxGroup.innerValue.value.length && !isChecked.value; - + if (!props.checkAll && !isChecked.value && checkboxGroup?.maxExceeded.value) { + return true; + } return disabled.value; }); diff --git a/src/checkbox/hooks/getOptions.ts b/src/checkbox/hooks/getOptions.ts index 93964e43e..fe9364df9 100644 --- a/src/checkbox/hooks/getOptions.ts +++ b/src/checkbox/hooks/getOptions.ts @@ -29,7 +29,6 @@ export const getOptions = (props: any, slots: Slots) => { r = { label: String(item), value: item }; } else { r = { ...item }; - r.disabled = r.disabled === undefined ? props.disabled : r.disabled; } return r; });