From 93cb391f6851b3a3fb6e675071c68250705b1b9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?0o=E5=BC=A0=E4=B8=8D=E6=AD=AAo0?= Date: Wed, 13 Jul 2022 17:21:56 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(component):=20=E6=96=B0=E5=A2=9Eradio?= =?UTF-8?q?Group=E7=BB=84=E4=BB=B6=20disabled=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/component/checkbox/index.less | 7 +++- .../src/component/checkbox/index.vue | 14 +++++-- .../src/component/checkboxGroup/index.vue | 9 ++++- .../component/src/component/radio/index.vue | 38 ++++++++++--------- .../src/component/radioGroup/index.vue | 13 ++++++- .../src/document/zh-CN/components/checkbox.md | 7 +--- .../src/document/zh-CN/components/radio.md | 3 ++ .../src/document/zh-CN/guide/changelog.md | 3 +- 8 files changed, 62 insertions(+), 32 deletions(-) diff --git a/package/component/src/component/checkbox/index.less b/package/component/src/component/checkbox/index.less index f5d3d076..896b6ec1 100644 --- a/package/component/src/component/checkbox/index.less +++ b/package/component/src/component/checkbox/index.less @@ -102,7 +102,7 @@ } .layui-form-checked[lay-skin="primary"] i { - border-color: var(--global-checked-color) !important; + border-color: var(--global-checked-color); background-color: var(--global-checked-color); color: #fff; } @@ -136,3 +136,8 @@ .layui-checkbox-disabled:hover i { color: #fff !important; } + +.layui-checkbox-disabled .layui-icon-ok,.layui-checkbox-disabled .layui-icon-subtraction{ + background-color: var(--global-neutral-color-3) !important; + border-color: var(--global-neutral-color-3) !important; +} \ No newline at end of file diff --git a/package/component/src/component/checkbox/index.vue b/package/component/src/component/checkbox/index.vue index 0076976f..13384af4 100644 --- a/package/component/src/component/checkbox/index.vue +++ b/package/component/src/component/checkbox/index.vue @@ -27,7 +27,6 @@ const props = withDefaults(defineProps(), { }); const checkboxGroup: any = inject("checkboxGroup", {}); -const checkboxGroupDisabled: boolean = inject("checkboxGroupDisabled", false); const isGroup = computed(() => { return ( @@ -93,10 +92,19 @@ const setArrayModelValue = function (checked: any) { }; const handleClick = function () { - if (!props.disabled&&!checkboxGroupDisabled) { + if (!ifDisabled.value) { isChecked.value = !isChecked.value; } }; +const ifDisabled = computed(() => { + if (props.disabled) { + return true; + } + if (checkboxGroup.hasOwnProperty('disabled')&&checkboxGroup.disabled.value) { + return true; + } + return false; +})