MainView.ets 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { BackgroundPageModifier, DateOption, YTAddressSelectorDialog, YTDateUtil } from "basic"
  2. import { UnitType } from "basic/src/main/ets/datepicker/DatePickerEnums"
  3. import { promptAction } from "@kit.ArkUI"
  4. @Component
  5. export struct MainView {
  6. build() {
  7. Column() {
  8. Text('打开日历')
  9. .onClick(() => {
  10. //以下内容都可以不传 有默认值
  11. const date: Date = new Date()
  12. const yTDateDialog = new YTAddressSelectorDialog(this.getUIContext())
  13. let dateOption = new DateOption()//选项配置类
  14. dateOption.date = date//当前日期 默认今天
  15. dateOption.minDate = new Date(2000,0,1)//最小选择的日期 默认10年前的今天
  16. dateOption.maxDate = new Date(2048,12,30)//最大选择的日期 默认10年后的今天
  17. dateOption.unitType = UnitType.YEAR_MONTH_DAY//日期单位 默认年月日 可选年月、月日等组合
  18. dateOption.confirm = (date: Date) => {//确认选择回调函数
  19. console.log('确认', YTDateUtil.formatDate( date))
  20. promptAction.openToast({message:YTDateUtil.formatDate( date)})
  21. }
  22. dateOption.headerLeftBuilder = wrapBuilder(headerLeftBuilder)//头部左侧按钮 默认返回按钮
  23. dateOption.headerRightBuilder = wrapBuilder(headerLeftBuilder)//头部右侧按钮 默认确认按钮
  24. dateOption.highlightBackgroundColor = Color.Pink//选中高亮背景色
  25. dateOption.highlightBorderColor = Color.Red//选中高亮边框色
  26. dateOption.textStyle = {//日期文字样式
  27. font:{size:20,weight:400},
  28. color:Color.Gray
  29. }
  30. dateOption.selectedTextStyle = {//选中日期文字样式
  31. font:{size:25,weight:400},
  32. color:Color.Yellow
  33. }
  34. yTDateDialog.show(dateOption)//设置好配置之后打开日历的函数
  35. })
  36. }
  37. .attributeModifier(new BackgroundPageModifier(true))
  38. }
  39. }
  40. @Builder
  41. function headerLeftBuilder(){
  42. Image($r('app.media.app_icon'))
  43. .width(24)
  44. }
  45. @Builder
  46. function headerRightBuilder(){
  47. Image($r("app.media.app_icon"))
  48. .width(24)
  49. }