Skip to content

Commit 94178c2

Browse files
committed
update(uni-ui): 修复uni-combox在微信小程序下的样式问题
1 parent 2f71f26 commit 94178c2

File tree

1 file changed

+25
-15
lines changed

1 file changed

+25
-15
lines changed

components/uni-combox/uni-combox.vue

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
<template>
2-
<view class="uni-combox" nvue>
2+
<view class="uni-combox">
33
<view v-if="label" class="uni-combox__label" :style="labelStyle">
44
<text>{{label}}</text>
55
</view>
66
<view class="uni-combox__input-box">
77
<input class="uni-combox__input" type="text" :placeholder="placeholder" v-model="inputVal" @input="onInput" @focus="onFocus" @blur="onBlur" />
88
<uni-icons class="uni-combox__input-arrow" type="arrowdown" size="14" @click="toggleSelector"></uni-icons>
99
<view class="uni-combox__selector" v-if="showSelector">
10-
<view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0">
11-
<text>{{emptyTips}}</text>
12-
</view>
13-
<view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="index" @click="onSelectorClick(index)">
14-
<text>{{item}}</text>
15-
</view>
10+
<scroll-view scroll-y="true" class="uni-combox__selector-scroll">
11+
<view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0">
12+
<text>{{emptyTips}}</text>
13+
</view>
14+
<view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="index" @click="onSelectorClick(index)">
15+
<text>{{item}}</text>
16+
</view>
17+
</scroll-view>
1618
</view>
1719
</view>
1820
</view>
@@ -90,14 +92,12 @@
9092
this.showSelector = !this.showSelector
9193
},
9294
onFocus() {
93-
setTimeout(() => {
94-
this.showSelector = true
95-
})
95+
this.showSelector = true
9696
},
9797
onBlur() {
9898
setTimeout(() => {
9999
this.showSelector = false
100-
})
100+
}, 50)
101101
},
102102
onSelectorClick(index) {
103103
this.inputVal = this.filterCandidates[index]
@@ -127,11 +127,16 @@
127127
128128
.uni-combox__label {
129129
font-size: 16px;
130+
line-height: 22px;
130131
padding-right: 10px;
131132
color: #999999;
132133
}
133134
134135
.uni-combox__input-box {
136+
position: relative;
137+
/* #ifndef APP-NVUE */
138+
display: flex;
139+
/* #endif */
135140
flex: 1;
136141
flex-direction: row;
137142
align-items: center;
@@ -140,27 +145,31 @@
140145
.uni-combox__input {
141146
flex: 1;
142147
font-size: 16px;
148+
height: 22px;
149+
line-height: 22px;
143150
}
144151
145152
.uni-combox__input-arrow {
146153
padding: 10px;
147154
}
148155
149156
.uni-combox__selector {
150-
flex-direction: column;
157+
box-sizing: border-box;
151158
position: absolute;
152159
top: 42px;
153160
left: 0;
154161
width: 100%;
155-
max-height: 200px;
156-
overflow-y: auto;
157-
padding: 10px;
158162
background-color: #FFFFFF;
159163
border-radius: 6px;
160164
box-shadow: #DDDDDD 4px 4px 8px, #DDDDDD -4px -4px 8px;
161165
z-index: 2;
162166
}
163167
168+
.uni-combox__selector-scroll {
169+
max-height: 200px;
170+
box-sizing: border-box;
171+
}
172+
164173
.uni-combox__selector::before {
165174
content: '';
166175
position: absolute;
@@ -183,6 +192,7 @@
183192
font-size: 14px;
184193
text-align: center;
185194
border-bottom: solid 1px #DDDDDD;
195+
margin: 0px 10px;
186196
}
187197
188198
.uni-combox__selector-empty:last-child,

0 commit comments

Comments
 (0)