xcxFront/pages/components/tab-bar.vue
2024-11-05 10:14:41 +08:00

68 lines
1.3 KiB
Vue

<template>
<TnTabbar v-model="currentTabbar" fixed>
<TnTabbarItem
v-for="(item, index) in tabbarData"
:key="index"
:icon="item.icon"
:active-icon="item.activeIcon"
:text="item.name"
@click="navigate(item)"
/>
</TnTabbar>
</template>
<script lang="ts" setup>
import { ref,watch } from 'vue'
import TnTabbar from '@/uni_modules/tuniaoui-vue3/components/tabbar/src/tabbar.vue'
import TnTabbarItem from '@/uni_modules/tuniaoui-vue3/components/tabbar/src/tabbar-item.vue'
const currentTabbar = ref(0)
const props = defineProps<{
current?:0
}>()
// 导航栏数据
const tabbarData = ref([
{
name: '首页',
icon: 'home',
activeIcon: 'home-fill',
path:'/pages/index/index'
},
{
name: '关于',
icon: 'company',
activeIcon: 'company-fill',
path:'/pages/park/intro'
},
{
name: '动态',
icon: 'image-text',
activeIcon: 'image-text-fill',
path:'/pages/article/index?id=648'
},
{
name: '我的',
icon: 'my-circle',
activeIcon: 'my-circle-fill',
path:'/pages/ucenter/index'
},
])
const navigate = (item:any) => {
uni.redirectTo({
url:item.path
})
}
watch(
()=>props.current,
(value) => {
currentTabbar.value = value
},{immediate:true}
)
</script>
<style lang="scss" scoped>
</style>