Skip to content
12:13

TnWeekCalendar-周日历

此组件用于选择一个星期日期,一般用于标识该用户当天是否已经签到。

组件位置

typescript
import TnWeekCalendar from '@tuniao/tnui-vue3-uniapp/components/week-calendar/src/week-calendar.vue'
import TnWeekCalendar from '@tuniao/tnui-vue3-uniapp/components/week-calendar/src/week-calendar.vue'
typescript
import TnWeekCalendar from '@/uni_modules/tuniaoui-vue3/components/week-calendar/src/week-calendar.vue'
import TnWeekCalendar from '@/uni_modules/tuniaoui-vue3/components/week-calendar/src/week-calendar.vue'

平台差异说明

App(vue)H5微信小程序支付宝小程序...
适配中

基础使用

  • 通过v-model绑定当前选中的日期,如果不传递任何值则默认选中
vue
<script lang="ts" setup>
import { ref } from 'vue'

const selectDate = ref<number>(12)
</script>

<template>
  <TnWeekCalendar v-model="selectDate" />
</template>
<script lang="ts" setup>
import { ref } from 'vue'

const selectDate = ref<number>(12)
</script>

<template>
  <TnWeekCalendar v-model="selectDate" />
</template>

自定义日历样式

  • 通过active-bg-color设置激活日期的背景颜色,可以使用图鸟内置的背景色、hex、rgb、rgba
  • 通过active-text-color设置激活日期的文字颜色,支持图鸟内置的颜色值、hex、rgb、rgba
vue
<script lang="ts" setup>
import { ref } from 'vue'

const selectDate = ref<number>(12)
</script>

<template>
  <TnWeekCalendar
    v-model="selectDate"
    active-bg-color="tn-grey"
    active-text-color="#01beff"
  />
</template>
<script lang="ts" setup>
import { ref } from 'vue'

const selectDate = ref<number>(12)
</script>

<template>
  <TnWeekCalendar
    v-model="selectDate"
    active-bg-color="tn-grey"
    active-text-color="#01beff"
  />
</template>

设置最小日期和最大日期

通过min-datemax-date设置最小日期和最大日期,如果不设置则默认以当前月的今天当前月的最后一天最小日期最大日期

vue
<script lang="ts" setup>
import { ref } from 'vue'

const selectDate = ref<number>(12)
</script>

<template>
  <TnWeekCalendar v-model="selectDate" :min-date="10" :max-date="21" />
</template>
<script lang="ts" setup>
import { ref } from 'vue'

const selectDate = ref<number>(12)
</script>

<template>
  <TnWeekCalendar v-model="selectDate" :min-date="10" :max-date="21" />
</template>

设置是哪年哪月的周日历

通过yearmonth设置是哪年哪月的周日历,如果不设置则默认以当前年月周日历

vue
<script lang="ts" setup>
import { ref } from 'vue'

const selectDate = ref<number>(12)
</script>

<template>
  <TnWeekCalendar v-model="selectDate" :year="2023" :month="1" />
</template>
<script lang="ts" setup>
import { ref } from 'vue'

const selectDate = ref<number>(12)
</script>

<template>
  <TnWeekCalendar v-model="selectDate" :year="2023" :month="1" />
</template>

自定义日期下显示的数据

通过给custom-data传递一个数组,数组的每一项都是一个对象,对象的date属性填写需要显示自定义内容的日期,desc属性填写自定义显示的内容,内容会显示在日期下方

vue
<script lang="ts" setup>
import { ref } from 'vue'

const selectDate = ref<number>(12)
const customData = [
  { date: 11, desc: '漏签' },
  { date: 12, desc: '已签到' },
]
</script>

<template>
  <TnWeekCalendar v-model="selectDate" :custom-data="customData" />
</template>
<script lang="ts" setup>
import { ref } from 'vue'

const selectDate = ref<number>(12)
const customData = [
  { date: 11, desc: '漏签' },
  { date: 12, desc: '已签到' },
]
</script>

<template>
  <TnWeekCalendar v-model="selectDate" :custom-data="customData" />
</template>

API

Props

属性名说明类型默认值可选值
model-value/v-model绑定日期的值,如果不设置则以当前日期作为值Number--
min-date最小允许选择月份的日期,如果为空则以当前日期作为最小值String | Number--
max-date最大允许选择月份的日期,如果为空则以当前月的最后一天作为最大值String | Number--
active-bg-color被选中日期的背景颜色,可以使用图鸟内置的背景色、hex、rgb、rgbaString--
actice-text-color被选中日期的文字颜色,支持图鸟内置的颜色值、hex、rgb、rgbaString--
year绑定的年份,如果为空则使用当前年份String | Number--
month绑定的月份,如果为空则使用当前月份String | Number--
custom-data自定义日期的描述数据Array<WeekCalendarCustomData>--

Emits

事件名说明类型
change所选日期发生修改事件(value: number) => void
week-year切换周触发事件(value: number) => void

WeekCalendarCustomData

参数说明必填
date需要设置的日期
desc需要设置的日期描述

Tuniao UI