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; |