Commit 383e96a86aee71ffd11da67328583ba258a14e93
1 parent
154bb822
Tabs add global setting, #5592
Showing
3 changed files
with
44 additions
and
4 deletions
Show diff stats
src/components/tabs/tabs.vue
@@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
19 | <Icon v-if="item.icon !== ''" :type="item.icon"></Icon> | 19 | <Icon v-if="item.icon !== ''" :type="item.icon"></Icon> |
20 | <Render v-if="item.labelType === 'function'" :render="item.label"></Render> | 20 | <Render v-if="item.labelType === 'function'" :render="item.label"></Render> |
21 | <template v-else>{{ item.label }}</template> | 21 | <template v-else>{{ item.label }}</template> |
22 | - <Icon v-if="showClose(item)" type="ios-close" @click.native.stop="handleRemove(index)"></Icon> | 22 | + <Icon :class="[prefixCls + '-close']" v-if="showClose(item)" :type="arrowType" :custom="customArrowType" :size="arrowSize" @click.native.stop="handleRemove(index)"></Icon> |
23 | </div> | 23 | </div> |
24 | </div> | 24 | </div> |
25 | </div> | 25 | </div> |
@@ -169,6 +169,41 @@ | @@ -169,6 +169,41 @@ | ||
169 | } | 169 | } |
170 | 170 | ||
171 | return style; | 171 | return style; |
172 | + }, | ||
173 | + // 3.4.0, global setting customArrow 有值时,arrow 赋值空 | ||
174 | + arrowType () { | ||
175 | + let type = 'ios-close'; | ||
176 | + | ||
177 | + if (this.$IVIEW) { | ||
178 | + if (this.$IVIEW.tabs.customCloseIcon) { | ||
179 | + type = ''; | ||
180 | + } else if (this.$IVIEW.tabs.closeIcon) { | ||
181 | + type = this.$IVIEW.tabs.closeIcon; | ||
182 | + } | ||
183 | + } | ||
184 | + return type; | ||
185 | + }, | ||
186 | + // 3.4.0, global setting | ||
187 | + customArrowType () { | ||
188 | + let type = ''; | ||
189 | + | ||
190 | + if (this.$IVIEW) { | ||
191 | + if (this.$IVIEW.tabs.customCloseIcon) { | ||
192 | + type = this.$IVIEW.tabs.customCloseIcon; | ||
193 | + } | ||
194 | + } | ||
195 | + return type; | ||
196 | + }, | ||
197 | + // 3.4.0, global setting | ||
198 | + arrowSize () { | ||
199 | + let size = ''; | ||
200 | + | ||
201 | + if (this.$IVIEW) { | ||
202 | + if (this.$IVIEW.tabs.closeIconSize) { | ||
203 | + size = this.$IVIEW.tabs.closeIconSize; | ||
204 | + } | ||
205 | + } | ||
206 | + return size; | ||
172 | } | 207 | } |
173 | }, | 208 | }, |
174 | methods: { | 209 | methods: { |
src/index.js
@@ -211,6 +211,11 @@ const install = function(Vue, opts = {}) { | @@ -211,6 +211,11 @@ const install = function(Vue, opts = {}) { | ||
211 | icon: opts.timePicker ? opts.timePicker.icon ? opts.timePicker.icon : '' : '', | 211 | icon: opts.timePicker ? opts.timePicker.icon ? opts.timePicker.icon : '' : '', |
212 | customIcon: opts.timePicker ? opts.timePicker.customIcon ? opts.timePicker.customIcon : '' : '', | 212 | customIcon: opts.timePicker ? opts.timePicker.customIcon ? opts.timePicker.customIcon : '' : '', |
213 | iconSize: opts.timePicker ? opts.timePicker.iconSize ? opts.timePicker.iconSize : '' : '' | 213 | iconSize: opts.timePicker ? opts.timePicker.iconSize ? opts.timePicker.iconSize : '' : '' |
214 | + }, | ||
215 | + tabs: { | ||
216 | + closeIcon: opts.tabs ? opts.tabs.closeIcon ? opts.tabs.closeIcon : '' : '', | ||
217 | + customCloseIcon: opts.tabs ? opts.tabs.customCloseIcon ? opts.tabs.customCloseIcon : '' : '', | ||
218 | + closeIconSize: opts.tabs ? opts.tabs.closeIconSize ? opts.tabs.closeIconSize : '' : '' | ||
214 | } | 219 | } |
215 | }; | 220 | }; |
216 | 221 |
src/styles/components/tabs.less
@@ -203,7 +203,7 @@ | @@ -203,7 +203,7 @@ | ||
203 | &&-card > &-bar &-nav-wrap { | 203 | &&-card > &-bar &-nav-wrap { |
204 | margin-bottom: 0; | 204 | margin-bottom: 0; |
205 | } | 205 | } |
206 | - &&-card > &-bar &-tab .@{css-prefix-iconfont}-ios-close { | 206 | + &&-card > &-bar &-tab &-close { |
207 | width: 0; | 207 | width: 0; |
208 | height: 22px; | 208 | height: 22px; |
209 | font-size: 22px; | 209 | font-size: 22px; |
@@ -221,8 +221,8 @@ | @@ -221,8 +221,8 @@ | ||
221 | } | 221 | } |
222 | } | 222 | } |
223 | 223 | ||
224 | - &&-card > &-bar &-tab-active .@{css-prefix-iconfont}-ios-close, | ||
225 | - &&-card > &-bar &-tab:hover .@{css-prefix-iconfont}-ios-close { | 224 | + &&-card > &-bar &-tab-active &-close, |
225 | + &&-card > &-bar &-tab:hover &-close { | ||
226 | width: 22px; | 226 | width: 22px; |
227 | transform: translateZ(0); | 227 | transform: translateZ(0); |
228 | margin-right: -6px; | 228 | margin-right: -6px; |