Commit 5fe59e3ab2bfb75cf60934de16152f6063147164
1 parent
b265d611
select add global setting #5592
Showing
4 changed files
with
44 additions
and
4 deletions
Show diff stats
src/components/select/select-head.vue
@@ -39,7 +39,7 @@ | @@ -39,7 +39,7 @@ | ||
39 | 39 | ||
40 | ref="input"> | 40 | ref="input"> |
41 | <Icon type="ios-close-circle" :class="[prefixCls + '-arrow']" v-if="resetSelect" @click.native.stop="onClear"></Icon> | 41 | <Icon type="ios-close-circle" :class="[prefixCls + '-arrow']" v-if="resetSelect" @click.native.stop="onClear"></Icon> |
42 | - <Icon type="ios-arrow-down" :class="[prefixCls + '-arrow']" v-if="!resetSelect && !remote"></Icon> | 42 | + <Icon :type="arrowType" :custom="customArrowType" :size="arrowSize" :class="[prefixCls + '-arrow']" v-if="!resetSelect && !remote"></Icon> |
43 | </div> | 43 | </div> |
44 | </template> | 44 | </template> |
45 | <script> | 45 | <script> |
@@ -174,6 +174,41 @@ | @@ -174,6 +174,41 @@ | ||
174 | return { | 174 | return { |
175 | [`${prefixCls}-head-flex`]: this.filterable && (this.$slots.prefix || this.prefix) | 175 | [`${prefixCls}-head-flex`]: this.filterable && (this.$slots.prefix || this.prefix) |
176 | }; | 176 | }; |
177 | + }, | ||
178 | + // 3.4.0, global setting customArrow 有值时,arrow 赋值空 | ||
179 | + arrowType () { | ||
180 | + let type = 'ios-arrow-down'; | ||
181 | + | ||
182 | + if (this.$IVIEW) { | ||
183 | + if (this.$IVIEW.select.customArrow) { | ||
184 | + type = ''; | ||
185 | + } else if (this.$IVIEW.select.arrow) { | ||
186 | + type = this.$IVIEW.select.arrow; | ||
187 | + } | ||
188 | + } | ||
189 | + return type; | ||
190 | + }, | ||
191 | + // 3.4.0, global setting | ||
192 | + customArrowType () { | ||
193 | + let type = ''; | ||
194 | + | ||
195 | + if (this.$IVIEW) { | ||
196 | + if (this.$IVIEW.select.customArrow) { | ||
197 | + type = this.$IVIEW.select.customArrow; | ||
198 | + } | ||
199 | + } | ||
200 | + return type; | ||
201 | + }, | ||
202 | + // 3.4.0, global setting | ||
203 | + arrowSize () { | ||
204 | + let size = ''; | ||
205 | + | ||
206 | + if (this.$IVIEW) { | ||
207 | + if (this.$IVIEW.select.arrowSize) { | ||
208 | + size = this.$IVIEW.select.arrowSize; | ||
209 | + } | ||
210 | + } | ||
211 | + return size; | ||
177 | } | 212 | } |
178 | }, | 213 | }, |
179 | methods: { | 214 | methods: { |
src/index.js
@@ -168,7 +168,12 @@ const install = function(Vue, opts = {}) { | @@ -168,7 +168,12 @@ const install = function(Vue, opts = {}) { | ||
168 | 168 | ||
169 | Vue.prototype.$IVIEW = { | 169 | Vue.prototype.$IVIEW = { |
170 | size: opts.size || '', | 170 | size: opts.size || '', |
171 | - transfer: 'transfer' in opts ? opts.transfer : '' | 171 | + transfer: 'transfer' in opts ? opts.transfer : '', |
172 | + select: { | ||
173 | + arrow: opts.select ? opts.select.arrow ? opts.select.arrow : '' : '', // 下拉箭头图标 | ||
174 | + customArrow: opts.select ? opts.select.customArrow ? opts.select.customArrow : '' : '', // 自定义下拉箭头图标,优先显示 | ||
175 | + arrowSize: opts.select ? opts.select.arrowSize ? opts.select.arrowSize : '' : '' // 下拉箭头字号 | ||
176 | + } | ||
172 | }; | 177 | }; |
173 | 178 | ||
174 | Vue.prototype.$Loading = LoadingBar; | 179 | Vue.prototype.$Loading = LoadingBar; |
src/styles/components/select.less
src/styles/mixins/common.less
@@ -20,7 +20,7 @@ | @@ -20,7 +20,7 @@ | ||
20 | top: 50%; | 20 | top: 50%; |
21 | right: 8px; | 21 | right: 8px; |
22 | line-height: 1; | 22 | line-height: 1; |
23 | - margin-top: -7px; | 23 | + transform: translateY(-50%); |
24 | font-size: @font-size-base; | 24 | font-size: @font-size-base; |
25 | color: @subsidiary-color; | 25 | color: @subsidiary-color; |
26 | transition: all @transition-time @ease-in-out; | 26 | transition: all @transition-time @ease-in-out; |