Tab组件的编写与动态日期的函数封装

src\components\Tab\Icon.vue

底部导航栏子组件。

javascript 复制代码
<template>
  <router-link :to="path" class="tab-icon">
    <i class="icon">{{iconText}}</i>
    <p class="text">
      <slot>{{ tabText }}</slot>
    </p>
  </router-link>
</template>

<script>
  export default {
    name: 'TabIcon',
    props: {
      iconText: String,
      path: String
    }
  }
</script>

src\components\Tab\index.vue

底部导航栏组件

javascript 复制代码
<template>
  <div class="tab">
    <div class="tab-item" v-for="(item, index) of tabData" :key="index">
      <tab-icon :iconText="item.iconText" :path="item.path">{{item.tabText}}</tab-icon>
    </div>
  </div>
</template>

<script>
import TabIcon from './Icon'
import tabData from '@/data/tab'
import { reactive } from 'vue'
export default {
  name: 'Tab',
  components: { TabIcon },
  setup() {
    const state = reactive({
      tabData,
    })
    return { ...state }
  },
}
</script>

src\libs\utils.js

动态日期的封装

javascript 复制代码
function _addZero(value) {
  return value < 10 ? '0' + value : value
}

function getIconDate(type) {
  const date = new Date()

  switch (type) {
    case 'day':
      return _addZero(date.getDate().toString())
    case 'month':
      return _addZero((date.getMonth() + 1).toString())
    case 'year':
      return date.getFullYear().toString().substring(2)
  }
}
export {
  getIconDate
}

src\data\tab.js

javascript 复制代码
import { getIconDate } from '@/libs/utils';

export default [{
        iconText: getIconDate("day"),
        tabText: "当天",
        path: "/",
    },
    {
        iconText: getIconDate("month"),
        tabText: "近期",
        path: "/month",
    },
    {
        iconText: getIconDate("year"),
        tabText: "当年",
        path: "/year",
    },
];
相关推荐
java水泥工7 分钟前
Java项目:基于SpringBoot和VUE的在线拍卖系统(源码+数据库+文档)
java·vue.js·spring boot
Aphasia31112 分钟前
性能优化之重绘和重排
前端·面试
Python私教14 分钟前
yggjs_react使用教程 v0.1.1
前端·react.js·前端框架
Jinuss16 分钟前
Vue3源码reactivity响应式篇之Map、Set等代理处理详解
前端·vue.js·vue3
用纸拆浪17 分钟前
❤️❤️组件踩坑日记:vxe-table-select下拉表格异步加载时的数据回显问题
前端
小鸡脚来咯18 分钟前
react速成
前端·javascript·react.js
程序员岳焱18 分钟前
使用 JPype 实现 Java 与 Python 的深度交互
java·后端·python
Juchecar21 分钟前
JavaScript 和 Vue3 中 for...in 与 for...of 的区别
前端·vue.js
剽悍一小兔22 分钟前
React15.x版本 子组件调用父组件的方法,从props中拿的,这个方法里面有个setState,结果调用报错
前端·javascript·react.js
神笔码农nice23 分钟前
VUE从入门到精通二:ref、reactive、computed计算属性、watch监听、组件之间的通信
前端·javascript·vue.js