UNPKG

uv-ui

Version:

基于vue3的移动端组件库

2 lines (1 loc) 1.32 kB
"use strict";const e=require("vue"),d=require("../../hooks/useContext.cjs");require("../../hooks/useCountDown.cjs");const m=require("../icon/index.cjs");require("./tab-bar-item.vue_vue_type_style_index_0_lang.cjs");const b={class:"uv-tab-bar-item-icon"},f={class:"uv-tab-bar-item-text"},p={name:"UvTabBarItem"},x=Object.assign(p,{props:{iconSize:{type:[Number,String]},iconName:{type:String},iconProps:{type:Object},text:{type:String}},setup(o){const i=e.ref(null),t=e.reactive({$el:i,isActive:!1}),{props:n,acitveItemUpdate:l,index:r}=d.useParent("tab-bar",t);e.onMounted(()=>{n&&n.modelValue===r.value&&(t.isActive=!0)});const{activeColor:c,inactiveColor:s,activeBgColor:u}=n,v=()=>{t.isActive||(t.isActive=!0),l(r.value)};return(a,_)=>(e.openBlock(),e.createElementBlock("div",{class:"uv-tab-bar-item",ref_key:"tabBarItemRef",ref:i,style:e.normalizeStyle({color:t.isActive?e.unref(c):e.unref(s),backgroundColor:t.isActive?e.unref(u):""}),onClick:v},[e.createElementVNode("div",b,[e.renderSlot(a.$slots,"icon",{},()=>[e.createVNode(e.unref(m),e.mergeProps({size:o.iconSize,name:o.iconName,color:t.isActive?e.unref(c):e.unref(s)},o.iconProps),null,16,["size","name","color"])])]),e.createElementVNode("div",f,[e.renderSlot(a.$slots,"text",{},()=>[e.createTextVNode(e.toDisplayString(o.text),1)])])],4))}});module.exports=x;