# 3.8 全屏页(Full Page)
全屏标签页组件,提供顶部标签和横向滑动页面内容。
# 基础用法
<template>
<dof-full-page
:tab-titles="[{ title: '标签一' }, { title: '标签二' }]"
:tab-page-height="1200"
@dofTabPageCurrentTabSelected="onTabSelected"
>
<div><text>标签一内容</text></div>
<div><text>标签二内容</text></div>
</dof-full-page>
</template>
<script>
export default {
methods: {
onTabSelected({ page }) {
console.log('当前页:', page)
},
},
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Attributes
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
tab-titles | Array | N | [] | 标签配置,每项支持 title、icon、activeIcon 和 url |
pan-dist | Number | N | 200 | 滑动切换页面的最小距离 |
spm-c | Number | String | N | '' | 标签栏埋点标识 |
tab-styles | Object | N | {"titleColor":"#616C73","activeTitleColor":"#3D3D3D","isActiveTitleBold":true,"width":160,"height":40,"fontSize":24,"textPaddingLeft":10,"textPaddingRight":10} | 标签栏样式 |
title-type | String | N | 'icon' | 标签类型 |
tab-page-height | Number | String | N | 1334 | 页面高度 |
need-slider | Boolean | N | true | 是否启用滑动切换 |
duration | Number | String | N | 300 | 切换动画时长 |
timing-function | String | N | 'cubic-bezier(0.25, 0.46, 0.45, 0.94)' | 切换动画函数 |
isRTL | Boolean | N | false | 是否启用 RTL(从右到左)布局;默认关闭 |
RTL 下标签排列和横向切换方向镜像,page 与选中事件仍使用原标签数组索引。插槽中的组件需单独传入 isRTL。
# Slots
| 插槽名 | 说明 |
|---|---|
| default | 全屏页内容 |
# Events
| 事件名称 | 说明 | 回调参数 |
|---|---|---|
dofTabPageCurrentTabSelected | 当前页面变化时触发 | { page } |
# Methods
| 方法名 | 说明 | 参数 |
|---|---|---|
next() | 切换到下一页 | - |
prev() | 切换到上一页 | - |
setPage(page) | 切换到指定页面 | page: Number |