@tanzhenxing/zx-tabbar
1.0.8 • Public • Published
此组件提供了自定义 tabbar 的能力,支持 H5、小程序、App,适合多端项目使用。
- 支持自定义图标、文本、徽标、圆点
- 支持固定底部、占位防塌陷
- 支持安全区适配
- 支持拦截切换、事件回调
- 兼容多端(H5/小程序/App)
<template>
<zx-tabbar :value="tab" @change="tab = $event" :items="tabbarList" />
</template>
<script setup>
import { ref } from 'vue';
const tab = ref(0);
const tabbarList = [
{ icon: 'home', title: '首页' },
{ icon: 'photo', title: '放映厅' },
{ icon: 'play-right', title: '直播' },
{ icon: 'account', title: '我的' }
];
</script>
属性名 |
说明 |
类型 |
默认值 |
value |
当前选中项的索引或 name |
String/Number |
0 |
items |
tabbar 配置项数组 |
Array |
[] |
safeAreaInsetBottom |
是否为 iPhoneX 留出安全距离 |
Boolean |
true |
border |
是否显示上方边框 |
Boolean |
true |
zIndex |
层级 z-index |
String/Number |
100 |
activeColor |
选中标签颜色 |
String |
#ff0000 |
inactiveColor |
未选中标签颜色 |
String |
#7d7e80 |
fixed |
是否固定在底部 |
Boolean |
true |
placeholder |
固定时是否占位防塌陷 |
Boolean |
true |
height |
tabbar 高度 |
String |
100rpx |
customStyle |
外部自定义样式 |
Object |
{} |
属性名 |
说明 |
类型 |
icon |
图标名/图片 |
String |
title |
文本 |
String |
badge |
角标数字 |
String/Number |
dot |
是否显示圆点 |
Boolean |
name |
唯一标识(可选) |
String/Number |
事件名 |
说明 |
回调参数 |
change |
切换选项时触发 |
index/name |
<zx-tabbar :value="tab" @change="tab = $event" :items="[
{ icon: 'home', title: '首页', dot: true },
{ icon: 'photo', title: '放映厅', badge: 3 },
{ icon: 'play-right', title: '直播' },
{ icon: 'account', title: '我的' }
]" />
<zx-tabbar :value="tab" @change="onTabChange" :items="tabbarList" />
<script setup>
function onTabChange(index) {
if (index === 1) {
uni.showToast({ title: '请先登录', icon: 'none' });
return;
}
tab.value = index;
}
</script>
<zx-tabbar :value="tab" @change="tab = $event" :items="tabbarList" fixed placeholder safeAreaInsetBottom />
无
- 请确保 items 数组不为空
- 支持多端,无需关心平台差异
Readme
Keywords
nonePackage Sidebar
Install
npm i @tanzhenxing/zx-tabbar
Weekly Downloads