ion-tab-button
标签按钮是放置在 标签栏 内部的 UI 组件。标签按钮可以指定图标和标签的布局,并连接到 标签视图。
有关配置标签的更多详细信息,请参阅 标签文档。
用法
- 角度
- Javascript
- React
- Vue
<ion-tabs>
<!-- Tab bar -->
<ion-tab-bar slot="bottom">
<ion-tab-button tab="schedule">
<ion-icon name="calendar" aria-hidden="true"></ion-icon>
<ion-label>Schedule</ion-label>
</ion-tab-button>
<ion-tab-button tab="speakers">
<ion-icon name="person-circle" aria-hidden="true"></ion-icon>
<ion-label>Speakers</ion-label>
</ion-tab-button>
<ion-tab-button tab="map">
<ion-icon name="map" aria-hidden="true"></ion-icon>
<ion-label>Map</ion-label>
</ion-tab-button>
<ion-tab-button tab="about">
<ion-icon name="information-circle" aria-hidden="true"></ion-icon>
<ion-label>About</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
<ion-tabs>
<!-- Tab views -->
<ion-tab tab="schedule">
<ion-router-outlet name="schedule"></ion-router-outlet>
</ion-tab>
<ion-tab tab="speakers">
<ion-router-outlet name="speakers"></ion-router-outlet>
</ion-tab>
<ion-tab tab="map">
<ion-router-outlet name="map"></ion-router-outlet>
</ion-tab>
<ion-tab tab="about">
<ion-router-outlet name="about"></ion-router-outlet>
</ion-tab>
<!-- Tab bar -->
<ion-tab-bar slot="bottom">
<ion-tab-button tab="schedule" href="/app/tabs/(schedule:schedule)">
<ion-icon name="calendar" aria-hidden="true"></ion-icon>
<ion-label>Schedule</ion-label>
</ion-tab-button>
<ion-tab-button tab="speakers" href="/app/tabs/(speakers:speakers)">
<ion-icon name="person-circle" aria-hidden="true"></ion-icon>
<ion-label>Speakers</ion-label>
</ion-tab-button>
<ion-tab-button tab="map" href="/app/tabs/(map:map)">
<ion-icon name="map" aria-hidden="true"></ion-icon>
<ion-label>Map</ion-label>
</ion-tab-button>
<ion-tab-button tab="about" href="/app/tabs/(about:about)">
<ion-icon name="information-circle" aria-hidden="true"></ion-icon>
<ion-label>About</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
import React from 'react';
import { IonTabs, IonTabBar, IonTabButton, IonIcon, IonLabel, IonContent } from '@ionic/react';
import { calendar, personCircle, map, informationCircle } from 'ionicons/icons';
export const TabButtonExample: React.FC = () => (
<IonContent>
<IonTabs>
{/*-- Tab bar --*/}
<IonTabBar slot="bottom">
<IonTabButton tab="schedule">
<IonIcon icon={calendar} aria-hidden="true" />
<IonLabel>Schedule</IonLabel>
</IonTabButton>
<IonTabButton tab="speakers">
<IonIcon icon={personCircle} aria-hidden="true" />
<IonLabel>Speakers</IonLabel>
</IonTabButton>
<IonTabButton tab="map">
<IonIcon icon={map} aria-hidden="true" />
<IonLabel>Map</IonLabel>
</IonTabButton>
<IonTabButton tab="about">
<IonIcon icon={informationCircle} aria-hidden="true" />
<IonLabel>About</IonLabel>
</IonTabButton>
</IonTabBar>
</IonTabs>
</IonContent>
);
<template>
<ion-tabs>
<!-- Tab bar -->
<ion-tab-bar slot="bottom">
<ion-tab-button tab="schedule" href="/tabs/schedule">
<ion-icon :icon="calendar" aria-hidden="true"></ion-icon>
<ion-label>Schedule</ion-label>
</ion-tab-button>
<ion-tab-button tab="speakers" href="/tabs/speakers">
<ion-icon :icon="person-circle" aria-hidden="true"></ion-icon>
<ion-label>Speakers</ion-label>
</ion-tab-button>
<ion-tab-button tab="map" href="/tabs/map">
<ion-icon :icon="map" aria-hidden="true"></ion-icon>
<ion-label>Map</ion-label>
</ion-tab-button>
<ion-tab-button tab="about" href="/tabs/about">
<ion-icon :icon="informationCircle" aria-hidden="true"></ion-icon>
<ion-label>About</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
</template>
<script>
import {
IonIcon,
IonLabel,
IonTabBar,
IonTabButton,
IonTabs
} from '@ionic/vue';
import { calendar, informationCircle, map, personCircle } from 'ionicons/icons';
import { defineComponent } from 'vue';
export default defineComponent({
components: {
IonIcon,
IonLabel,
IonTabBar,
IonTabButton,
IonTabs
},
setup() {
return { calendar, informationCircle, map, personCircle }
}
});
</script>
属性
disabled
描述 | 如果为 true ,则用户无法与标签按钮交互。 |
属性 | disabled |
类型 | 布尔值 |
默认值 | false |
download
描述 | 此属性指示浏览器下载 URL 而不是导航到它,因此系统会提示用户将其保存为本地文件。如果属性具有值,则它将用作保存提示中的预填充文件名(用户仍然可以更改文件名,如果他们愿意)。 |
属性 | download |
类型 | 字符串 | undefined |
默认值 | undefined |
href
描述 | 包含超链接指向的 URL 或 URL 片段。如果设置了此属性,则将呈现锚点标签。 |
属性 | href |
类型 | 字符串 | undefined |
默认值 | undefined |
layout
描述 | 设置标签栏中文本和图标的布局。它默认为 "icon-top" 。 |
属性 | layout |
类型 | "icon-bottom" | "icon-end" | "icon-hide" | "icon-start" | "icon-top" | "label-hide" | undefined |
默认值 | undefined |
mode
描述 | 模式决定使用哪个平台样式。 |
属性 | mode |
类型 | "ios" | "md" |
默认值 | undefined |
rel
描述 | 指定目标对象与链接对象之间的关系。该值是 链接类型 的空格分隔列表。 |
属性 | rel |
类型 | 字符串 | undefined |
默认值 | undefined |
selected
描述 | 选定的标签组件 |
属性 | selected |
类型 | 布尔值 |
默认值 | false |
tab
描述 | 每个 ion-tab 必须提供一个标签 ID。它在内部用于引用选定的标签或由路由器在它们之间切换。 |
属性 | tab |
类型 | 字符串 | undefined |
默认值 | undefined |
target
描述 | 指定在何处显示链接的 URL。仅在提供 href 时适用。特殊关键字:"_blank" 、"_self" 、"_parent" 、"_top" 。 |
属性 | target |
类型 | 字符串 | undefined |
默认值 | undefined |
事件
此组件没有可用的事件。
方法
此组件没有可用的公共方法。
CSS 阴影部分
名称 | 描述 |
---|---|
native | 包装所有子元素的原生 HTML 锚点元素。 |
CSS 自定义属性
- iOS
- MD
名称 | 描述 |
---|---|
--background | 标签按钮的背景 |
--background-focused | 使用 Tab 键聚焦时标签按钮的背景 |
--background-focused-opacity | 使用 Tab 键聚焦时标签按钮背景的不透明度 |
--color | 标签按钮的颜色 |
--color-focused | 使用 Tab 键聚焦时标签按钮的颜色 |
--color-selected | 选定标签按钮的颜色 |
--padding-bottom | 标签按钮的底部填充 |
--padding-end | 如果方向为从左到右,则为标签按钮的右侧填充,如果方向为从右到左,则为左侧填充 |
--padding-start | 如果方向为从左到右,则为标签按钮的左侧填充,如果方向为从右到左,则为右侧填充 |
--padding-top | 标签按钮的顶部填充 |
--ripple-color | 按钮波纹效果的颜色 |
名称 | 描述 |
---|---|
--background | 标签按钮的背景 |
--background-focused | 使用 Tab 键聚焦时标签按钮的背景 |
--background-focused-opacity | 使用 Tab 键聚焦时标签按钮背景的不透明度 |
--color | 标签按钮的颜色 |
--color-focused | 使用 Tab 键聚焦时标签按钮的颜色 |
--color-selected | 选定标签按钮的颜色 |
--padding-bottom | 标签按钮的底部填充 |
--padding-end | 如果方向为从左到右,则为标签按钮的右侧填充,如果方向为从右到左,则为左侧填充 |
--padding-start | 如果方向为从左到右,则为标签按钮的左侧填充,如果方向为从右到左,则为右侧填充 |
--padding-top | 标签按钮的顶部填充 |
--ripple-color | 按钮波纹效果的颜色 |
插槽
此组件没有可用的插槽。