HarmonyOS 鸿蒙Next 日期选择器超过设置的最大日期,能不能让它不要滚动

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 日期选择器超过设置的最大日期,能不能让它不要滚动 例如我设置了可选择的范围是2024年10月21日到2024年10月24日分别为最小日期和最大日期,当我把月份往10月后面滚,会出现多次闪烁的现象,有没有属性让他超过我设置的最大日期,就不要让他滚动了

5 回复

闪烁肯定是你写的问题,目前没遇到闪烁,

更多关于HarmonyOS 鸿蒙Next 日期选择器超过设置的最大日期,能不能让它不要滚动的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


楼主用的什么方式实现的日期选择?我参考这个文档实现的是选择不到超出起始和终止日期的。可以具体描述下问题,贴一些必要的代码样例

这是我的demo:

// xxx.ets
@Entry
@Component
struct Index {
  @State isLunar: boolean = false
  private selectedDate: Date = new Date('2024-10-24')

  build() {
    Column() {
      Button('切换公历农历')
        .margin({ top: 30, bottom: 30 })
        .onClick(() => {
          this.isLunar = !this.isLunar
        })
      DatePicker({
        start: new Date('2024-10-21'),
        end: new Date('2024-10-25'),
        selected: this.selectedDate
      })
        .disappearTextStyle({color: Color.Gray, font: {size: '16fp', weight: FontWeight.Bold}})
        .textStyle({color: '#ff182431', font: {size: '18fp', weight: FontWeight.Normal}})
        .selectedTextStyle({color: '#ff0000FF', font: {size: '26fp', weight: FontWeight.Regular}})
        .lunar(this.isLunar)
        .onDateChange((value: Date) => {
          this.selectedDate = value
          console.info('select current date is: ' + value.toString())
        })

    }.width('100%')
  }
}

我跟你好像是差不多一样的,

没遇到你说的可以选择超出范围的日期的情况,可否提供下你的demo?

在HarmonyOS(鸿蒙)系统中,针对日期选择器(DatePicker)超过设置的最大日期后依然能够滚动的问题,可以通过以下方式实现限制滚动:

HarmonyOS提供了自定义日期选择器的功能,允许开发者通过设置日期范围来限制用户的选择。如果日期选择器在达到最大日期后仍然可以滚动,这通常是因为日期范围的设置没有正确生效或者存在其他逻辑错误。

要解决这个问题,可以检查并确认以下几点:

  1. 正确设置日期范围:确保在创建或配置日期选择器时,已经正确设置了最小日期和最大日期。这通常在日期选择器的初始化代码中进行。

  2. 检查日期选择器的逻辑:如果日期选择器是自定义的,需要检查其内部逻辑,确保在滚动到最大日期时能够停止滚动。

  3. 更新鸿蒙系统SDK:确保你使用的鸿蒙系统SDK是最新版本,因为旧版本的SDK可能存在已知的bug或不支持某些功能。

  4. 重新编译并测试:在做了上述更改后,重新编译你的应用并测试日期选择器,以确保问题已经被解决。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部