From 5da80981766a67b14651e24820f00d4fed93e6f1 Mon Sep 17 00:00:00 2001 From: Jevin Date: Fri, 25 Jul 2025 19:17:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(checkcard):=20disabled=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E5=8F=98=E5=8C=96=E6=9C=AA=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{checkcard.test.ts => checkcard.test.tsx} | 39 ++++ .../component/component/checkcard/index.vue | 178 +++++++++--------- .../component/checkcard/interface.ts | 10 + .../component/checkcardGroup/index.vue | 34 ++-- 4 files changed, 148 insertions(+), 113 deletions(-) rename packages/component/component/checkcard/__tests__/{checkcard.test.ts => checkcard.test.tsx} (81%) create mode 100644 packages/component/component/checkcard/interface.ts diff --git a/packages/component/component/checkcard/__tests__/checkcard.test.ts b/packages/component/component/checkcard/__tests__/checkcard.test.tsx similarity index 81% rename from packages/component/component/checkcard/__tests__/checkcard.test.ts rename to packages/component/component/checkcard/__tests__/checkcard.test.tsx index 7785866b..d8ffecb9 100644 --- a/packages/component/component/checkcard/__tests__/checkcard.test.ts +++ b/packages/component/component/checkcard/__tests__/checkcard.test.tsx @@ -6,7 +6,10 @@ */ import { mount, shallowMount } from "@vue/test-utils"; import LayCheckCard from "../index.vue"; +import LayCheckcardGroup from "../../checkcardGroup/index.vue"; import { describe, expect, test } from "vitest"; +import {ref, h, nextTick} from 'vue' + const IMAGE_URL = "https://img.com"; const title = "test checkcard text"; const description = "test checkcard description"; @@ -136,4 +139,40 @@ describe("LayCheckCard.vue", () => { wrapper.unmount(); }); + + test("disabled", async () => { + const disabledGroup = ref(true) + const disabled = ref(true) + + const wrapper = mount( + { + setup() { + return () => ( + + + + ); + }, + }, + {} + ); + + await nextTick() + expect(wrapper.find(".layui-checkcard").classes()).toContain( + "layui-checkcard-disabled" + ); + + // await wrapper.setProps({ disabled: false }) + disabledGroup.value = false + await nextTick() + expect(wrapper.find(".layui-checkcard").classes()).toContain( + "layui-checkcard-disabled" + ); + + disabled.value = false + await nextTick() + expect(wrapper.find(".layui-checkcard").classes()).not.toContain( + "layui-checkcard-disabled" + ); + }); }); diff --git a/packages/component/component/checkcard/index.vue b/packages/component/component/checkcard/index.vue index 53c4452c..ec954772 100644 --- a/packages/component/component/checkcard/index.vue +++ b/packages/component/component/checkcard/index.vue @@ -1,88 +1,37 @@ - - + + + diff --git a/packages/component/component/checkcard/interface.ts b/packages/component/component/checkcard/interface.ts new file mode 100644 index 00000000..9e89d552 --- /dev/null +++ b/packages/component/component/checkcard/interface.ts @@ -0,0 +1,10 @@ +export interface CheckCard { + title?: string; + avatar?: string; + description?: string; + cover?: string; + extra?: string; + disabled?: boolean; + value?: string | number; + modelValue?: boolean; +} diff --git a/packages/component/component/checkcardGroup/index.vue b/packages/component/component/checkcardGroup/index.vue index 8d7c2711..c5d59543 100644 --- a/packages/component/component/checkcardGroup/index.vue +++ b/packages/component/component/checkcardGroup/index.vue @@ -1,17 +1,5 @@ - - - - + + -- Gitee