Commit 9013c49d7c9b0a04200a98705bd128c3e7df5864
1 parent
90399f84
update Select style with filterable & prefix
Showing
3 changed files
with
26 additions
and
4 deletions
Show diff stats
examples/routers/select.vue
1 | 1 | <template> |
2 | 2 | <div style="margin: 100px;"> |
3 | - <Select v-model="model1" style="width:200px" prefix="ios-albums"> | |
3 | + <Select v-model="model1" filterable style="width:200px" prefix="ios-albums"> | |
4 | 4 | <Option v-for="item in cityList" :value="item.value" :key="item.value">{{ item.label }}</Option> |
5 | 5 | </Select> |
6 | 6 | |
7 | - <Select v-model="model10" :max-tag-count="2" multiple style="width:400px" prefix="ios-albums"> | |
7 | + <Select v-model="model10" filterable :max-tag-count="2" multiple style="width:400px"> | |
8 | + <Option v-for="item in cityList" :value="item.value" :key="item.value">{{ item.label }}</Option> | |
9 | + </Select> | |
10 | + | |
11 | + <Select v-model="model10" filterable :max-tag-count="2" multiple style="width:400px" prefix="ios-albums"> | |
8 | 12 | <Option v-for="item in cityList" :value="item.value" :key="item.value">{{ item.label }}</Option> |
9 | 13 | </Select> |
10 | 14 | ... | ... |
src/components/select/select-head.vue
1 | 1 | <template> |
2 | - <div @click="onHeaderClick"> | |
2 | + <div @click="onHeaderClick" :class="headCls"> | |
3 | 3 | <span :class="[prefixCls + '-prefix']" v-if="$slots.prefix || prefix"> |
4 | 4 | <slot name="prefix"> |
5 | 5 | <Icon :type="prefix" v-if="prefix" /> |
... | ... | @@ -168,6 +168,12 @@ |
168 | 168 | }, |
169 | 169 | selectedMultiple(){ |
170 | 170 | return this.multiple ? this.values : []; |
171 | + }, | |
172 | + // 使用 prefix 时,在 filterable | |
173 | + headCls () { | |
174 | + return { | |
175 | + [`${prefixCls}-head-flex`]: this.filterable && (this.$slots.prefix || this.prefix) | |
176 | + }; | |
171 | 177 | } |
172 | 178 | }, |
173 | 179 | methods: { | ... | ... |
src/styles/components/select.less
... | ... | @@ -185,7 +185,7 @@ |
185 | 185 | } |
186 | 186 | |
187 | 187 | &-multiple &-input{ |
188 | - height: @input-height-base - 3px; | |
188 | + height: @input-height-base - 2px; | |
189 | 189 | line-height: @input-height-base; |
190 | 190 | padding: 0 0 0 4px; |
191 | 191 | } |
... | ... | @@ -260,6 +260,9 @@ |
260 | 260 | &-prefix{ |
261 | 261 | display: inline-block; |
262 | 262 | vertical-align: middle; |
263 | + i{ | |
264 | + vertical-align: top; | |
265 | + } | |
263 | 266 | } |
264 | 267 | &-head-with-prefix{ |
265 | 268 | display: inline-block !important; |
... | ... | @@ -271,6 +274,15 @@ |
271 | 274 | &-single &-head-with-prefix, &-multiple &-head-with-prefix{ |
272 | 275 | padding-left: 0 !important; |
273 | 276 | } |
277 | + | |
278 | + &-head-flex{ | |
279 | + display: flex; | |
280 | + align-items: center; | |
281 | + } | |
282 | + | |
283 | + &-multiple &-head-flex &-prefix{ | |
284 | + margin-right: 4px; | |
285 | + } | |
274 | 286 | } |
275 | 287 | |
276 | 288 | .select-item(@select-prefix-cls, @select-item-prefix-cls); | ... | ... |