1.5.1 • Published 1 year ago

@wines/calendar v1.5.1

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

@wines/calendar

Calendar 日历

用于选择日期区间。

使用指南

在 page.json 中引入组件

{
  "navigationBarTitleText": "Calendar",
  "usingComponents": {
    "wux-cell-group": "@wines/cell-group",
    "wux-cell": "@wines/cell",
    "wux-calendar": "@wines/calendar"
  }
}

示例

该组件主要依靠 JavaScript 主动调用,所以一般只需在 wxml 中添加一个组件,并设置 id 为 #wux-calendar 或其他,之后在 page.js 中调用 $wuxCalendar(id) 获取匹配到的第一个组件实例对象。

<wux-calendar id="wux-calendar" />

<view class="page">
	<view class="page__hd">
		<view class="page__title">Calendar</view>
		<view class="page__desc">日历</view>
	</view>
	<view class="page__bd">
		<wux-cell-group title="Calendar">
			<wux-cell title="单选" extra="{{ value1 }}" bind:click="openCalendar1" />
			<wux-cell title="多选" extra="{{ value2 }}" bind:click="openCalendar2" />
			<wux-cell title="Direction = Vertical" extra="{{ value3 }}" bind:click="openCalendar3" />
			<wux-cell title="MinDate & MaxDate" extra="{{ value4 }}" bind:click="openCalendar4" />
		</wux-cell-group>
	</view>
</view>
import { $wuxCalendar, CalendarExports, ComponentExports } from '@wines/calendar';
let calendar: ComponentExports<CalendarExports>;
Page({
  data: {
    value1: ['2021-01-10'] as string[],
    value2: [] as string[],
    value3: [] as string[],
    value4: [] as string[],
  },
  calendar: null,
  onLoad() {
    calendar = $wuxCalendar();
  },
  openCalendar1() {
    calendar.open({
      value: this.data.value1,
      onMonthAdd: (month) => {
        console.log('onMonthAdd', month);
      },
      onDayClick: (dateYear: number, dateMonth: number, dateDay: number) => {
        console.log(`onDayClick:`, dateYear, dateMonth, dateDay);
      },
      onChange: (values, displayValues) => {
        console.log('onChange', values, displayValues);
        this.setData({
          value1: displayValues,
        });
      },
    });
  },
  openCalendar2() {
    calendar.open({
      value: this.data.value2,
      multiple: true,
      onChange: (values, displayValues) => {
        console.log('onChange', values, displayValues);
        this.setData({
          value2: displayValues,
        });
      },
    });
  },
  openCalendar3() {
    calendar.open({
      value: this.data.value3,
      direction: 'vertical',
      onChange: (values, displayValues) => {
        console.log('onChange', values, displayValues);
        this.setData({
          value3: displayValues,
        });
      },
    });
  },
  openCalendar4() {
    const now = new Date();
    const minDate = now.getTime();
    const maxDate = now.setDate(now.getDate() + 7);

    calendar.open({
      value: this.data.value4,
      minDate,
      maxDate,
      onChange: (values, displayValues) => {
        console.log('onChange', values, displayValues);
        this.setData({
          value4: displayValues,
        });
      },
    });
  },
});

API

参数类型描述默认值
optionsobject配置项-
options.prefixClsstring自定义类名前缀wux-calendar
options.monthNamesarray月名称'一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'
options.monthNamesShortarray月名称缩写'一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'
options.dayNamesarray周名称'周日', '周一', '周二', '周三', '周四', '周五', '周六'
options.dayNamesShortarray周名称缩写'周日', '周一', '周二', '周三', '周四', '周五', '周六'
options.firstDaynumber一周的第一日1
options.weekendDaysarray一周的起始日0, 6
options.multipleboolean是否支持多选false
options.dateFormatstring日期格式yyyy-mm-dd
options.directionstring方向,可选择为 horizontal、verticalhorizontal
options.minDateany最小可选日期-
options.maxDateany最大可选日期-
options.touchMoveboolean是否支持触摸滑动true
options.animateboolean是否支持切换月份的动画true
options.closeOnSelectboolean用户选择一个时间后就自动关闭,当 multiplefalse 时才生效true
options.weekHeaderboolean是否显示周名称true
options.toolbarboolean是否显示工具栏true
options.valuearray默认时间选择值,如 '2000-01-01'[]
options.onMonthAddfunction添加月份时的回调函数-
options.onChangefunction选择日期时的回调函数-
options.onOpenfunction打开日历时的回调函数-
options.onClosefunction关闭日历时的回调函数-
options.onDayClickfunction点击选择日期时的回调函数-
options.onMonthYearChangeStartfunction月份变化开始的回调函数-
options.onMonthYearChangeEndfunction月份变化完成的回调函数-
1.5.1

1 year ago

1.5.0

1 year ago

1.3.5

2 years ago

1.4.0

2 years ago

1.3.4

3 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago