From f2a3bc9eece65a31804e621f6679653e2ca8cffc Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Tue, 25 Oct 2022 11:35:37 +0800
Subject: [PATCH] 开关组件,支持禁用

---
 forms/switch/cSwitch.scss |   10 ++++++++++
 forms/switch/CSwitch.vue  |    8 +++++++-
 2 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/forms/switch/CSwitch.vue b/forms/switch/CSwitch.vue
index c8662f5..9d459d9 100644
--- a/forms/switch/CSwitch.vue
+++ b/forms/switch/CSwitch.vue
@@ -4,10 +4,11 @@
  */
 
 <template>
-    <view :class="['c-switch', className]">
+    <view :class="['c-switch', className, readOnly?'read-only':'']">
         <AtSwitch
             :title="itemRes.label"
             :checked="itemRes.formData[itemRes.name]"
+            :disabled="readOnly"
             :onChange="evt=>itemRes.onChange(evt)"
         />
     </view>
@@ -23,6 +24,11 @@
     props: {
         // 表单数据资源(表单组件内部机制专用)
         itemRes: Object,
+        // 只读模式
+        readOnly: {
+            type: Boolean,
+            default: false,
+        },
     },
     data() {
         return {};
diff --git a/forms/switch/cSwitch.scss b/forms/switch/cSwitch.scss
index dfe9673..0224cd5 100644
--- a/forms/switch/cSwitch.scss
+++ b/forms/switch/cSwitch.scss
@@ -6,6 +6,16 @@
 @import "../../common/sassMixin";
 
 .c-switch {
+    &.read-only {
+        pointer-events: none;
+        background-color: #fafafa;
+        .at-switch {
+            background-color: transparent;
+        }
+        .at-switch__container {
+            background-color: transparent;
+        }
+    }
     .at-switch__title {
         font-size: 36px;
     }

--
Gitblit v1.9.1