【鸿蒙next开发】ArkUI框架:ArkTS组件-TimePicker

 往期鸿蒙5.0全套实战文章必看:(文中附带鸿蒙5.0全栈学习资料)


TimePicker

时间选择组件,根据指定参数创建选择器,支持选择小时及分钟。

说明

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

子组件

接口

TimePicker(options?: TimePickerOptions)

默认以24小时的时间区间创建滑动选择器。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
optionsTimePickerOptions配置时间选择组件的参数。

TimePickerOptions对象说明

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称类型必填说明
selectedDate

设置选中项的时间。

默认值:当前系统时间

从API version 10开始,该参数支持$$双向绑定变量。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

format11+TimePickerFormat

指定需要显示的TimePicker的格式。

默认值:TimePickerFormat.HOUR_MINUTE

元服务API: 从API version 12开始,该接口支持在元服务中使用。

TimePickerFormat11+枚举说明

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称说明
HOUR_MINUTE按照小时和分显示。
HOUR_MINUTE_SECOND按照小时、分钟和秒显示。

属性

除支持通用属性外,还支持以下属性:

useMilitaryTime

useMilitaryTime(value: boolean)

设置展示时间是否为24小时制。当展示时间为12小时制时,上下午与小时无联动关系。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueboolean

展示时间是否为24小时制。

默认值:false

disappearTextStyle10+

disappearTextStyle(value: PickerTextStyle)

设置所有选项中最上和最下两个选项的文本颜色、字号、字体粗细。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valuePickerTextStyle

所有选项中最上和最下两个选项的文本颜色、字号、字体粗细。

默认值:

{

color: '#ff182431',

font: {

size: '14fp',

weight: FontWeight.Regular

}

}

textStyle10+

textStyle(value: PickerTextStyle)

设置所有选项中除了最上、最下及选中项以外的文本颜色、字号、字体粗细。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valuePickerTextStyle

所有选项中除了最上、最下及选中项以外的文本颜色、字号、字体粗细。

默认值:

{

color: '#ff182431',

font: {

size: '16fp',

weight: FontWeight.Regular

}

}

selectedTextStyle10+

selectedTextStyle(value: PickerTextStyle)

设置选中项的文本颜色、字号、字体粗细。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valuePickerTextStyle

选中项的文本颜色、字号、字体粗细。

默认值:

{

color: '#ff007dff',

font: {

size: '20vp',

weight: FontWeight.Medium

}

}

loop11+

loop(value: boolean)

设置是否启用循环模式。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueboolean

是否启用循环模式。

默认值:true,true表示启用循环模式,false表示不启用循环模式。

dateTimeOptions12+

dateTimeOptions(value: DateTimeOptions)

设置时分秒是否显示前置0。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueDateTimeOptions

设置时分秒是否显示前置0,目前只支持设置hour、minute和second参数。

默认值:

hour: 24小时制默认为"2-digit",即有前置0;12小时制默认为"numeric",即没有前置0。

minute: 默认为"2-digit",即有前置0。

second: 默认为"2-digit",即有前置0。

enableHapticFeedback12+

enableHapticFeedback(enable: boolean)

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数名类型必填说明
enableboolean

是否支持触控反馈。

默认值:true,true表示开启触控反馈,false表示不开启触控反馈。

设置为true后是否生效,还取决于系统的硬件是否支持。

说明

开启触控反馈时,需要在工程的module.json5中配置requestPermissions字段开启振动权限,配置如下:

"requestPermissions": [
{
 "name": "ohos.permission.VIBRATE",
}
]

事件

除支持通用事件外,还支持以下事件:

onChange

onChange(callback: (value: TimePickerResult ) => void)

选择时间时触发该事件。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
valueTimePickerResult24小时制时间。

TimePickerResult对象说明

返回值为24小时制时间。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称类型只读可选说明
hournumber

选中时间的时。

取值范围:[0-23]

minutenumber

选中时间的分。

取值范围:[0-59]

second11+number

选中时间的秒。

取值范围:[0-59]

示例

该示例实现了时间选择组件,根据指定参数创建选择器。

// xxx.ets
@Entry
@Component
struct TimePickerExample {
  @State isMilitaryTime: boolean = false
  private selectedTime: Date = new Date('2022-07-22T08:00:00')


  build() {
    Column() {
      Button('切换12小时制/24小时制')
        .margin(30)
        .onClick(() => {
          this.isMilitaryTime = !this.isMilitaryTime
        })
      TimePicker({
        selected: this.selectedTime,
      })
        .useMilitaryTime(this.isMilitaryTime)
        .onChange((value: TimePickerResult) => {
          if(value.hour >= 0) {
            this.selectedTime.setHours(value.hour, value.minute)
            console.info('select current date is: ' + JSON.stringify(value))
          }
        })
        .disappearTextStyle({color: Color.Red, font: {size: 15, weight: FontWeight.Lighter}})
        .textStyle({color: Color.Black, font: {size: 20, weight: FontWeight.Normal}})
        .selectedTextStyle({color: Color.Blue, font: {size: 30, weight: FontWeight.Bolder}})
    }.width('100%')
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值