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