wot-design-uni/docs/component/datetimePickerView.md
2023-07-28 10:45:13 +08:00

4.1 KiB
Raw Blame History

DatetimePickerView 日期时间选择器视图

基本用法

value 设置绑定值,默认为 'datetime' 类型,展示年月日时分,绑定值为 时间戳 类型,如果为 'time' 类型,绑定值为字符串。

<wd-datetime-picker-view value="{{value}}" label="日期选择" bind:change="handleChange" />
Page({
  data: {
    value: Date.now(),
  },
  handleChange (event) {
    this.setData({
      value: event.detail.value
    })
  }
})

date 类型

'date' 类型只展示年月日。

<wd-datetime-picker-view type="date" value="{{value}}" label="年月日" />
Page({
  data: {
    value: Date.now(),
  }
})

year-month 类型

'year-month' 类型只展示年月。

<wd-datetime-picker-view type="year-month" value="{{value}}" label="年月" />
Page({
  data: {
    value: Date.now(),
  }
})

time 类型

'time' 类型只展示时分。

<wd-datetime-picker-view type="time" value="{{value}}" label="时分" />
Page({
  data: {
    value: Date.now(),
  }
})

修改内部格式

自定义函数必须写在data中

formatter 属性传入一个函数,接收 typevalue 值,返回展示的文本内容。typeyearmonthdatehourminute 类型,valuenumber 类型。 使用自定义formatter会关闭内置的默认display-format函数。

<wd-datetime-picker-view value="{{value}}" label="内部格式" formatter="{{formatter}}" />
Page({
  data: {
    value: Date.now(),
    formatter (type, value) {
      switch (type) {
        case 'year':
          return value + '年'
        case 'month':
          return value + '月'
        case 'date':
          return value + '日'
        case 'hour':
          return value + '时'
        case 'minute':
          return value + '分'
        default:
          return value
      }
    }
  }
})

过滤选项

filter 属性传入一个函数,接收 typevalues 值,返回列的选项列表。typeyearmonthdatehourminute 类型,values 为 number数组。

自定义函数必须写在data中

<wd-datetime-picker-view value="{{value}}" label="过滤选项" filter="{{filter}}" />
Page({
  data: {
    value: Date.now(),
    filter (type, values) {
      if (type === 'minute') {
        return values.filter(value => value % 5 === 0)
      }
      return values
    }
  }
})

Attributes

参数 说明 类型 可选值 默认值 最低版本
value 选中项,当 type 为 time 时,类型为字符串,否则为 Date string / date - -
type 选择器类型 string date / year-month / time datetime -
loading 加载中 boolean - false -
loading-color 加载的颜色,只能使用十六进制的色值写法,且不能使用缩写 string - #4D80F0 -
columns-height picker内部滚筒高 number - 231 -
formatter 自定义弹出层选项文案的格式化函数,返回一个字符串 function - - -
filter 自定义过滤选项的函数,返回列的选项数组 function - - -
minDate 最小日期 date - 当前日期 - 10年 -
maxDate 最大日期 date - 当前日志 + 10年 -
minHour 最小小时time类型时生效 number - 0 -
maxHour 最大小时time类型时生效 number - 23 -
minMinute 最小分钟time类型时生效 number - 0 -
maxMinute 最大分钟time类型时生效 number - 59 -

Events

事件名称 说明 参数 最低版本
bind:change 切换选项时触发 选中的值 event.detail = { value }value 为当前选中日期的时间戳,'time' 类型则为字符串 -
bind:pickstart 当滚动选择开始时候触发事件 - -
bind:pickend 当滚动选择结束时候触发事件 - -