1.0.3 • Published 3 years ago

@mas.io/mas-calendar v1.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

安装

tnpm install --save @alipay/mas-calendar

组件介绍

行业小程序日历组件,参考开源社区中的日历实现,结合mini-antui的日历样式,针对支付宝行业的各个不同场景进行定制化开发,满足业务需求。

参数说明

常规日历组件

参数名称填写要求参数类型参数说明默认值示例
insert必填Boolean日历是否插入到对应的页面节点中true-
lunar选填Boolean是否开启阴历日期false-
range选填Boolean是否支持范围选择false-
showHeader选填Boolean是否显示日历头部,包括月切换和星期的日期true-
showMonth选填Boolean是否显示月份背景true-
hideDisableItem选填Boolean是否展示disable状态的日期,超出当前月或者maxDay的范围都标记为disable状态,默认行为将disable状态的元素的样式修改false-
showToday选填Boolean是否展示"今天"标识true-
itemWidth选填String日历中每个日期元素的宽度''-
itemHeight选填String日历中每个日期元素的高度''-
maxDay选填Number月份中最大的数值,小于该值的定位disable状态31-
onChange选填function日期更改的回调函数--
onMonthChange选填function月份按钮更改日历月份的回调函数--
showChangeBtn选填Boolean是否显示时间切换按钮true-
showWeek选填Boolean是否展示周信息true-
showBackToday选填Boolean是否展示返回今天按钮true-
date选填String年-月-日,默认选中时间--
startDate选填String年-月-日,限定选择的范围:起始时间--
endDate选填String年-月-日,限定选择的范围:结束时间--
disableDates选填Array需要禁用的日期列表,形如: 'yyyy-mm-dd', 支持props到ui层的更新--
customerHoliday选填Object设置假期数据内容,必须在创建时候传入,暂不支持动态修改,数据示例如下文,支持props到ui层的更新--
tags选填Array设置日历中每个日期下面的说明文案,优先级高于lunar的文案显示,-{ date: '2021-01-01', text: '信息' }

跨月度日历选择列表

参数名称填写要求参数类型参数说明默认值示例
startDate选填String日历列表的开始时间,以string格式为准--
endDate选填String日历列表的结束时间,以string格式为准--
date选填String年-月-日,默认选中时间--
onChange选填String更改日期选择的回调--
customerHoliday选填Object设置假期数据内容,必须在创建时候传入,暂不支持动态修改,数据示例如下文--
range选填Boolean设置日历列表是否false回调返回值为{ before: 'yyyy-mm-dd', after: 'yyyy-mm-dd'}
initialRange选填Object设置初始选择的起止时间{ startDate: '', endDate: '' }{ startDate: '2021-01-01', endDate: '2021-01-05' }
{
  2020: [
    ...
    {
      "name": "春节",
      "range": ["2020-01-19"],
      "type": "workingday"
    },
    {
      "name": "春节",
      "range": ["2020-01-24", "2020-01-30"],
      "type": "holiday"
    },
    {
      "name": "春节",
      "range": ["2020-02-01"],
      "type": "workingday"
    }
    ...
  ]
}

跨月度日历选择列表

DEMO预览 在 page.json 文件中添加组件依赖

{
  "usingComponents": {
    "mas-calendar-list": "@alipay/mas-calendar/es/mode/list/index"
  }
}

在 page.axml 中引用组件

<!-- 常规日历组件在页面使用方式 -->
  <mas-calendar-list 
    startDate="2020-04-08"
    endDate="2020-07-09"
    onChange="onChange"
  />

常规日历组件使用方式

DEMO预览 在 page.json 文件中添加组件依赖

{
  "usingComponents": {
    "mas-calendar": "@alipay/mas-calendar/es/index",
  }
}

在 page.js 中配置日历组件日期选择变化的回调函数, onChange,返回日期相关的参数

Page({
  data: {
   
  },
  onChange (e) {
    console.log(e);
  }
});

样式覆盖推荐方式说明

可以通过在外层的view上套一个class来增加内部元素的样式优先级,达到样式覆盖的目的例如

.custom-calendar-container {
  display: flex;
  align-items: center;
  justify-content: center;
  .mas-calendar {
    width: 700rpx;

    .mas-calendar-item__weeks-box {
      height: 100rpx;
    }
  }
}

Badges

TNPM version TNPM downloads


1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.7

3 years ago

0.0.5

4 years ago

0.0.5-beta.1

4 years ago

0.0.4

4 years ago