# 选项卡组件
# 使用方法
# Tabs 的基本结构
点击查看代码
<template>
<VueTab :selected.sync="selectedTab">
<VueTabNav>
<VueTabItem tab-name="tab1">Item1</VueTabItem>
<VueTabItem tab-name="tab2">Item2Item2</VueTabItem>
<VueTabItem tab-name="tab3">Item3Item3Item3</VueTabItem>
</VueTabNav>
<VueTabContent>
<VueTabPane pane-name="tab1">Pane1</VueTabPane>
<VueTabPane pane-name="tab2">Pane2</VueTabPane>
<VueTabPane pane-name="tab3">Pane3</VueTabPane>
</VueTabContent>
</VueTab>
</template>
<script lang="ts">
import VueTab from '@/components/tabs/VueTab.vue';
import VueTabNav from '@/components/tabs/VueTabNav.vue';
import VueTabItem from '@/components/tabs/VueTabItem.vue';
import VueTabContent from '@/components/tabs/VueTabContent.vue';
import VueTabPane from '@/components/tabs/VueTabPane.vue';
export default {
name: 'normal',
components: {
VueTab,
VueTabNav,
VueTabItem,
VueTabContent,
VueTabPane
},
data() {
return {
selectedTab: 'tab1'
};
}
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Tabs 可被禁用、被隐藏
点击查看代码
<template>
<VueTab :selected.sync="selectedTab">
<VueTabNav>
<VueTabItem tabName="tab1">Tab1</VueTabItem>
<VueTabItem tabName="tab2" disabled>Tab2</VueTabItem>
<VueTabItem tabName="tab3">Tab3</VueTabItem>
</VueTabNav>
<VueTabContent>
<VueTabPane paneName="tab1">Pane1</VueTabPane>
<VueTabPane paneName="tab2">Pane2</VueTabPane>
<VueTabPane paneName="tab3">Pane3</VueTabPane>
</VueTabContent>
</VueTab>
</template>
<script lang="ts">
import VueTab from '@/components/tabs/VueTab.vue';
import VueTabNav from '@/components/tabs/VueTabNav.vue';
import VueTabItem from '@/components/tabs/VueTabItem.vue';
import VueTabContent from '@/components/tabs/VueTabContent.vue';
import VueTabPane from '@/components/tabs/VueTabPane.vue';
export default {
name: 'disable',
components: {
VueTab,
VueTabNav,
VueTabItem,
VueTabContent,
VueTabPane
},
data() {
return {
selectedTab: 'tab1'
};
}
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Tabs 提供 可选的 右侧附带按钮
点击查看代码
<template>
<VueTab :selected.sync="selectedTab">
<VueTabNav>
<template v-slot:vue-actions>
<VueButton>额外的按钮</VueButton>
</template>
<VueTabItem tabName="tab1">Tab1</VueTabItem>
<VueTabItem tabName="tab2">Tab2</VueTabItem>
<VueTabItem tabName="tab3">Tab3</VueTabItem>
</VueTabNav>
<VueTabContent>
<VueTabPane paneName="tab1">Pane1</VueTabPane>
<VueTabPane paneName="tab2">Pane2</VueTabPane>
<VueTabPane paneName="tab3">Pane3</VueTabPane>
</VueTabContent>
</VueTab>
</template>
<script lang="ts">
import VueTab from '@/components/tabs/VueTab.vue';
import VueTabNav from '@/components/tabs/VueTabNav.vue';
import VueTabItem from '@/components/tabs/VueTabItem.vue';
import VueTabContent from '@/components/tabs/VueTabContent.vue';
import VueTabPane from '@/components/tabs/VueTabPane.vue';
import VueButton from '@/components/button/VueButton.vue';
export default {
name: 'extra',
components: {
VueTab,
VueTabNav,
VueTabItem,
VueTabContent,
VueTabPane,
VueButton
},
data() {
return {
selectedTab: 'tab1'
};
}
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Tabs 可添加icon
点击查看代码
<template>
<VueTab :selected.sync="selectedTab">
<VueTabNav>
<VueTabItem tabName="tab1"
:useIcon="true"
iconName="settings">
Tab1
</VueTabItem>
<VueTabItem tabName="tab2"
:useIcon="true"
iconName="download">
Tab2
</VueTabItem>
<VueTabItem tabName="tab3"
:useIcon="true"
iconName="thumbs-up">
Tab3
</VueTabItem>
</VueTabNav>
<VueTabContent>
<VueTabPane paneName="tab1">Pane1</VueTabPane>
<VueTabPane paneName="tab2">Pane2</VueTabPane>
<VueTabPane paneName="tab3">Pane3</VueTabPane>
</VueTabContent>
</VueTab>
</template>
<script lang="ts">
import VueTab from '@/components/tabs/VueTab.vue';
import VueTabNav from '@/components/tabs/VueTabNav.vue';
import VueTabItem from '@/components/tabs/VueTabItem.vue';
import VueTabContent from '@/components/tabs/VueTabContent.vue';
import VueTabPane from '@/components/tabs/VueTabPane.vue';
import VueIcon from '@/components/icon/VueIcon.vue';
export default {
name: 'normal',
components: {
VueTab,
VueTabNav,
VueTabItem,
VueTabContent,
VueTabPane,
VueIcon
},
data() {
return {
selectedTab: 'tab1'
};
}
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 属性列表
VueTab.vue
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
selected | 当前选中的标签名 tab-name | string | - | - |
VueTabNav.vue
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
itemsData | 标签导航数据 | Record<string, any> | true/false | false |
VueTabItem.vue
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
tabName | 标签名 | string | - | - |
useIcon | 是否使用图标 | boolean | true/false | false |
iconName | 图标类型名称 | string | settings/loading/right/left/download/arrow-down/thumbs-up | - |
iconPosition | 图标位置 | string | - | - |
disabled | 是否禁用 | boolean | true/false | false |
VueTabContent.vue
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
panesData | 标签内容数据 | Record<string, any> | - | - |
VueTabPane.vue
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
paneName | 标签内容名 | string | - | - |