mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-24 10:20:19 +08:00
[improvement] Tab: optimize transition (#2151)
This commit is contained in:
parent
dc11970fa0
commit
a1a6bacb3c
@ -153,7 +153,7 @@ In swipeable mode, you can switch tabs with swipe gestrue in the content
|
|||||||
| v-model | Index of active tab | `String` `Number` | `0` |
|
| v-model | Index of active tab | `String` `Number` | `0` |
|
||||||
| color | Tab color | `String` | `#f44` |
|
| color | Tab color | `String` | `#f44` |
|
||||||
| type | Can be set to `line` `card` | `String` | `line` |
|
| type | Can be set to `line` `card` | `String` | `line` |
|
||||||
| duration | Toggle tab's animation time | `Number` | `0.4` | - |
|
| duration | Toggle tab's animation time | `Number` | `0.3` | - |
|
||||||
| line-width | Width of tab line (px) | `Number` | Width of active tab |
|
| line-width | Width of tab line (px) | `Number` | Width of active tab |
|
||||||
| swipe-threshold | Set swipe tabs threshold | `Number` | `4` | - |
|
| swipe-threshold | Set swipe tabs threshold | `Number` | `4` | - |
|
||||||
| sticky | Whether to use sticky mode | `Boolean` | `false` |
|
| sticky | Whether to use sticky mode | `Boolean` | `false` |
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
:class="b('pane', { float: parent.animated })"
|
|
||||||
v-show="parent.animated || isSelected"
|
v-show="parent.animated || isSelected"
|
||||||
|
:class="b('pane', { float: parent.animated })"
|
||||||
:style="paneStyle"
|
:style="paneStyle"
|
||||||
>
|
>
|
||||||
<slot v-if="inited" />
|
<slot v-if="inited" />
|
||||||
|
@ -219,7 +219,7 @@ exports[`renders demo correctly 1`] = `
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-tabs__content">
|
<div class="van-tabs__content">
|
||||||
<div class="van-tabs__track" style="width:0px;transition-duration:0.4s;transform:translateX(0px);display:none;">
|
<div class="van-tabs__track" style="width:0px;transition-duration:0.3s;transform:translateX(0px);display:none;">
|
||||||
<div class="van-tab__pane van-tab__pane--float">
|
<div class="van-tab__pane van-tab__pane--float">
|
||||||
<!---->
|
<!---->
|
||||||
<!---->
|
<!---->
|
||||||
|
@ -157,7 +157,7 @@ export default {
|
|||||||
| v-model | 当前标签的索引 | `String` `Number` | `0` | 1.0.6 |
|
| v-model | 当前标签的索引 | `String` `Number` | `0` | 1.0.6 |
|
||||||
| color | 标签颜色 | `String` | `#f44` | 1.2.0 |
|
| color | 标签颜色 | `String` | `#f44` | 1.2.0 |
|
||||||
| type | 样式类型,可选值为`card` | `String` | `line` | - |
|
| type | 样式类型,可选值为`card` | `String` | `line` | - |
|
||||||
| duration | 动画时间,单位秒 | `Number` | `0.4` | - |
|
| duration | 动画时间,单位秒 | `Number` | `0.3` | - |
|
||||||
| line-width | 底部条宽度,单位 px | `Number` | - | 1.1.1 |
|
| line-width | 底部条宽度,单位 px | `Number` | - | 1.1.1 |
|
||||||
| swipeable | 是否开启手势滑动切换 | `Boolean` | `false` | 1.0.0 |
|
| swipeable | 是否开启手势滑动切换 | `Boolean` | `false` | 1.0.0 |
|
||||||
| sticky | 是否使用粘性定位布局 | `Boolean` | `false` | - |
|
| sticky | 是否使用粘性定位布局 | `Boolean` | `false` | - |
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
.van-tab {
|
.van-tab {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
min-width: 0; // hack for flex ellipsis
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -11,7 +12,7 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-color: @white;
|
background-color: @white;
|
||||||
min-width: 0; /* hack for flex ellipsis */
|
transition: color .3s;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -72,6 +72,7 @@ export default create({
|
|||||||
props: {
|
props: {
|
||||||
color: String,
|
color: String,
|
||||||
sticky: Boolean,
|
sticky: Boolean,
|
||||||
|
animated: Boolean,
|
||||||
lineWidth: Number,
|
lineWidth: Number,
|
||||||
swipeable: Boolean,
|
swipeable: Boolean,
|
||||||
active: {
|
active: {
|
||||||
@ -84,7 +85,7 @@ export default create({
|
|||||||
},
|
},
|
||||||
duration: {
|
duration: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0.4
|
default: 0.3
|
||||||
},
|
},
|
||||||
swipeThreshold: {
|
swipeThreshold: {
|
||||||
type: Number,
|
type: Number,
|
||||||
@ -93,8 +94,7 @@ export default create({
|
|||||||
offsetTop: {
|
offsetTop: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0
|
default: 0
|
||||||
},
|
}
|
||||||
animated: Boolean
|
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user