harmony 鸿蒙calendar

2022-10-28 浏览 (1794)

calendar

日历组件,用于呈现日历界面。

说明:

从API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

不支持。

属性

支持通用属性外,还支持如下属性:

名称类型默认值必填描述
datestring当前日期当前页面选中的日期,默认是当前日期,格式为年-月-日,如"2019-11-22"。
cardcalendarboolfalse标识当前日历是否为卡片日历。
startdayofweekint6标识卡片显示的起始天,默认是星期天(取值范围:0-6)。
offdaysstring5,6标识卡片显示的休息日,默认是星期六、星期天(取值范围:0-6)。
calendardatastring-卡片需要显示的月视图数据信息,包括5*7或者6*7格的日数据信息,格式为JSON字符串。"data"标签属性信息见表1 calendardata的日属性。
showholidaybooltrue标识当前是否显示节假日信息。

表1 calendardata的日属性

名称类型描述
indexint数据的索引,表示第几个日期。
dayint表示具体哪一天。
monthint表示月份。
yearint表示年份。
isFirstOfLuanrbool表示是否是农历的第一天,在农历第一天的数据下绘制横线。
hasSchedulebool表示是否有日程,在有日程的日期数据上绘制圆。
markLunarDaybool表示节假日,农历数据会变成蓝色。
lunarDaystring农历日期。
lunarMonthstring农历月份。
dayMarkstring表示工作日。
- “work”:工作日。
- “off”:休息日。
dayMarkValuestring表示具体需要显示的“班”、“休”信息。

calendardata示例:

{
"year":2021,
"month":1,
"data": [{
    "index": 0,    
    "lunarMonth": "十一",
    "lunarDay": "十三",    
    "year": 2020,    
    "month ": 12,    
    "day": 27,    
    "dayMark": "work",    
    "dayMarkValue": "班",
    "isFirstOfLunar": true,
    "hasSchedule": true,
    "markLunarDay": true
  },  {
    "index": 1,
    "lunarMonth": "十一",
    "lunarDay": "十四",    
    "year": 2020,    
    "month ": 12,    
    "day": 28,    
    "dayMark": "work",    
    "dayMarkValue": "班",
    "isFirstOfLunar": true,
    "hasSchedule": true,
    "markLunarDay": true
  },  {
    "index": 2,
    "lunarMonth": "十一",
    "lunarDay": "十五",    
    "year": 2020,    
    "month ": 12,    
    "day": 29,    
    "dayMark": "work",    
    "dayMarkValue": "班",
    "isFirstOfLunar": true,
    "hasSchedule": true,
    "markLunarDay": true
  },
  ...
  ]
}

样式

名称类型默认值必填描述
background-color<color>-设置背景颜色。

事件

名称参数描述
selectedchangechangeEvent在点击日期和上下月跳转时触发。
requestdatarequestEvent请求日期时触发。

表2 changeEvent

名称类型描述
$event.daystring选择的日期。
$event.monthstring选择的月份。
$event.yearstring选择的年份。

表3 requestEvent

名称类型描述
$event.monthstring请求的月份。
$event.yearstring请求的年份。
$event.currentYearstring当前显示的年份。
$event.currentMonthstring当前显示的月份。

示例

当前数据仅为示例数据,实际使用时请补充完整的日期数据。

<!-- xxx.hml -->
<div class="container">
    <calendar class="container_test"
        cardcalendar="true"
        onselectedchange="clickOneDay"
        onrequestdata="messageEventData"
        date="{{currentDate}}"
        offdays="{{offDays}}"
        showholiday="{{showHoliday}}"
        startdayofweek="{{startDayOfWeek}}"
        calendardata="{{calendarData}}">
   </calendar>
</div>
/* xxx.css */ 
.container {
    flex-direction:column;
    width: 100%;
    height: 100%;
    align-items:center;
    padding-start: 4px;
    padding-end: 4px;
}
.container_test {
    background-color: white;
}
{
    "data": {
        "currentDate": "",
        "offDays": "",
        "startDayOfWeek": 6,
        "showHoliday": true,
        "calendarData": ""
    },
    "actions": {
        "clickOneDay": {
            "action": "router",
            "bundleName": "com.example.calendar",
            "abilityName": "EntryAbility",
            "params": {
                "action": "click_month_view_event",
                "day": "$event.day",
                "month": "$event.month",
                "year": "$event.year"
            }
        },
        "messageEventData": {
            "action": "message",
            "params": {
                "month": "$event.month",
                "year": "$event.year",
                "currentMonth": "$event.currentMonth",
                "currentYear": "$event.currentYear"
            }
        }
    }
}

4*4卡片

zh-cn_image_0000001231452477

你可能感兴趣的鸿蒙文章

harmony 鸿蒙JS服务卡片UI组件

harmony 鸿蒙数据类型说明

harmony 鸿蒙button

harmony 鸿蒙chart

harmony 鸿蒙clock

harmony 鸿蒙divider

harmony 鸿蒙image

harmony 鸿蒙input

harmony 鸿蒙progress

harmony 鸿蒙span

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/16c1f151c54d4c5098d44f80d7aca727