From 70a71c5adb35d9c2b06669319b802ae18606c388 Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Sun, 14 Nov 2021 11:27:40 +0800
Subject: [PATCH] 下拉选择框,允许插入额外按钮

---
 forms/select/cSelect.scss       |   25 ++++++++++++
 forms/input/CInputScanCode.scss |    5 ++
 forms/select/CSelect.vue        |   46 ++++++++++++++---------
 3 files changed, 58 insertions(+), 18 deletions(-)

diff --git a/forms/input/CInputScanCode.scss b/forms/input/CInputScanCode.scss
index 1d1b93d..e8b28fa 100644
--- a/forms/input/CInputScanCode.scss
+++ b/forms/input/CInputScanCode.scss
@@ -24,4 +24,9 @@
     .at-input__icon {
         display: none;
     }
+    .at-input__children {
+        &::after {
+            display: none;
+        }
+    }
 }
\ No newline at end of file
diff --git a/forms/select/CSelect.vue b/forms/select/CSelect.vue
index e8547c6..9270195 100644
--- a/forms/select/CSelect.vue
+++ b/forms/select/CSelect.vue
@@ -5,27 +5,37 @@
 
 <template>
     <view class="c-select">
-        <picker
+        <!-- 下拉选择模式 -->
+        <view
             v-if="!selectByPage"
-            mode="selector"
-            :range="options"
-            :value="current"
-            range-key="name"
-            @change="evt=>handleChange(evt.detail)"
+            class="c-select-slot-mode"
         >
-            <AtInput
-                ref="input"
-                :name="itemRes.name"
-                :title="itemRes.label"
-                :required="itemRes.required"
-                :disabled="itemRes.disabled"
-                :error="itemRes.error"
-                :placeholder="placeholder"
-                :value="selected"
+            <picker
+                class="c-select-input"
+                mode="selector"
+                :range="options"
+                :value="current"
+                range-key="name"
+                @change="evt=>handleChange(evt.detail)"
             >
-                <view class="at-icon at-icon-chevron-right" />
-            </AtInput>
-        </picker>
+                <AtInput
+                    ref="input"
+                    :name="itemRes.name"
+                    :title="itemRes.label"
+                    :required="itemRes.required"
+                    :disabled="itemRes.disabled"
+                    :error="itemRes.error"
+                    :placeholder="placeholder"
+                    :value="selected"
+                >
+                    <view class="at-icon at-icon-chevron-right" />
+                </AtInput>
+            </picker>
+            <view class="c-select-slot">
+                <slot />
+            </view>
+        </view>
+        <!-- 跳转页面模式 -->
         <view
             v-else-if="selectByPage.length > 5"
             @tap="evt => onGoToSelectorPage()"
diff --git a/forms/select/cSelect.scss b/forms/select/cSelect.scss
index bf1899d..2bfd699 100644
--- a/forms/select/cSelect.scss
+++ b/forms/select/cSelect.scss
@@ -30,4 +30,29 @@
             pointer-events: none;
         }
     }
+    .c-select-slot-mode {
+        @include flexbox(flex, left center);
+        .c-select-input {
+            width: 100%;
+        }
+        .c-select-slot {
+            position: relative;
+            height: 90px;
+            @include flexbox(flex, center center);
+            &::after {
+                position: absolute;
+                top: -50%;
+                left: -50%;
+                right: -50%;
+                bottom: -50%;
+                border: 0 solid #d6e4ef;
+                border-bottom-width: 1PX;
+                box-sizing: border-box;
+                transform-origin: center;
+                transform: scale(0.5);
+                content: "";
+                pointer-events: none;
+            }
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1