引入

  1. {
  2. "usingComponents": {
  3. "x-time-picker": "waft-ui/assembly/time-picker/time-picker"
  4. }
  5. }

代码示例

  1. <x-button text="显示时间选择器" onTap="clickTimeButton" type="secondary"></x-button>
  2. <x-time-picker
  3. show="{{ showTimePicker }}"
  4. onConfirm="onConfirm"
  5. onCancel="onCancel"
  6. onChange="handleChange"
  7. ></x-time-picker>
  1. {
  2. "state":{
  3. "showTimePicker": false,
  4. "timePickerData": [
  5. {
  6. "options": ["上午", "下午"],
  7. "index": 0
  8. },
  9. {
  10. "options": ["1", "2", "3", "4", "5", "6", "7", "8"],
  11. "index": 0
  12. },
  13. {
  14. "options": ["1", "2", "3", "4", "5", "6", "7", "8"],
  15. "index": 4
  16. }
  17. ]
  18. }
  19. }
  1. import { Event, Page, Props, console } from "waft";
  2. import { JSON, JSONObject } from "waft-json";
  3. export class TestPicker extends Page {
  4. constructor(props: Props) {
  5. super(props);
  6. }
  7. onConfirm(e: Event): void{
  8. console.log("===test-picker的onConfirm事件===");
  9. this.setState(
  10. JSON.parseObject(`{"showTimePicker":false}`)
  11. );
  12. }
  13. onCancel(e: Event): void{
  14. console.log("===test-picker的onCancel事件===");
  15. this.setState(
  16. JSON.parseObject(`{"showTimePicker":false}`)
  17. );
  18. }
  19. handleChange(e: Event): void{
  20. console.log("===test-picker的handleChange事件===");
  21. console.log(e.toString());
  22. }
  23. clickTimeButton(e: Event): void{
  24. this.setState(
  25. JSON.parseObject(`{"showTimePicker":true}`)
  26. );
  27. }
  28. }

效果展示

timePicker.png

API

  • props | 参数 | 说明 | 类型 | 默认值 | | —- | —- | —- | —- | | show | 是否显示选择器 | boolean | false | | minMinute | 最小可选分钟 | number | 1 | | maxMinute | 最大可选分钟 | number | 60 | | minHour | 最小可选小时 | number | 1 | | maxHour | 最大可选小时 | number | 12 |

  • Event | 事件名 | 说明 | 返回值 | | —- | —- | —- | | clickConfirm | 点击确定按钮触发 | 当前选中数据 | | clickCancel | 点击取消按钮触发 | 当前选中数据 | | change | 数据发生改变时触发 | 发生改变的列选中的数据 |