datePickerDialog(最好使用内置的DatePickerDialog)

@CustomDialog
@Component
export default struct datePickerDialog {
  selectedDate: Date = new Date()
  controller: CustomDialogController

  build() {
    Column({ space: 10 }) {
      DatePicker({
        start: new Date('2001-09-08'),
        end: new Date('9999-09-08'),
        selected: this.selectedDate
      })
        .onChange((value: DatePickerResult) => {
          this.selectedDate.setFullYear(value.year, value.month, value.day)
        })
      Row({ space: 10 }) {
        Button('Cancel')
          .onClick(() => {
            this.controller.close()
          })
          .backgroundColor('#ffeaeef1')
          .width(100)
          .height(30)
        Button('Submit')
          .width(100)
          .height(30)
          .onClick(() => {
          // this.selectedDate.getTime()存储毫秒值是因为方便后期监控状态变化
          // 便于利用prop、link 或者 state
            AppStorage.SetOrCreate('selectedDate', this.selectedDate.getTime())
            this.controller.close()
          })
      }
    }
    .width('100%')
    .padding(10)
  }
}


/*
在别的Page中利用controller来opendialog
@StorageProp('selectedDate') selectedDate: number = DateUtil.beginTimeOfDay(new Date())
   controller: CustomDialogController = new CustomDialogController({
     builder: dateDialog({
       selectedDate: new Date()
     })
   })
*/

内置的DatePickerDialog:

自己写的datePickerDialog(好丑):

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值