UNPKG

fant-mini-plus

Version:

fant-mini-plus是一个基于Vue3和TypeScript的uni-app高效UI组件库,提供丰富的组件和样式,帮助开发者快速构建高质量的移动应用。

44 lines (39 loc) 1.08 kB
/* * @Author: weisheng * @Date: 2022-12-14 17:33:21 * @LastEditTime: 2023-09-14 21:33:45 * @LastEditors: weisheng * @Description: * @FilePath: \fant-mini-plus\src\uni_modules\fant-mini-plus\components\hd-calendar\index.ts * 记得注释 */ import { type InjectionKey, type Ref, nextTick, provide, ref } from 'vue' import type { Calendar } from './types' /** * useCalendar 用到的key * * @internal */ export const calendarDefaultKey = Symbol('__CALENDAR_') as InjectionKey<Ref<boolean>> export function useCalendar(selector: string = ''): Calendar { const calendarShow = ref<boolean>(false) // 是否展示calendar const calendarKey = selector ? '__CALENDAR_' + selector : calendarDefaultKey provide(calendarKey, calendarShow) const showCalendar = () => { if (calendarShow.value) { calendarShow.value = false nextTick(() => { calendarShow.value = true }) } else { calendarShow.value = true } } const closeCalendar = () => { calendarShow.value = false } return { showCalendar, closeCalendar } }