Picker View

嵌入页面的滚动选择器

属性

支持通用属性

属性名 类型 说明 平台支持
value NumberArray 数组中的数字依次表示 picker-view 内的 picker-view-colume 选择的第几项(下标从 0 开始),数字大于 picker-view-column 可选项长度时,选择最后一项。 u?,w,a
indicator-style String 设置选择器中间选中框的样式 u?,w,a
indicator-class String 设置选择器中间选中框的类名 u?,w
mask-style String 设置蒙层的样式 u?,w
mask-class String 设置蒙层的类名 u?,w

注意:其中只可放置<picker-view-column/>组件,其他节点不会显示。

picker-view-column

仅可放置于<picker-view />中,其孩子节点的高度会自动设置成与picker-view的选中框的高度一致

事件

支持通用事件

事件名 描述 平台支持
onchange 选中项发生变化event.detail={value:value} all

示例

<view>
  <view>年月日</view>
  <picker-view indicator-style="height: 50px;" style="width: 100%; height: 300px;" value="" onchange="bindChange">
    <picker-view-column>
      <view for="" style="line-height: 50px">年</view>
    </picker-view-column>
    <picker-view-column>
      <view for="" style="line-height: 50px">月</view>
    </picker-view-column>
    <picker-view-column>
      <view for="" style="line-height: 50px">日</view>
    </picker-view-column>
  </picker-view>
</view>
const date = new Date()
const years = []
const months = []
const days = []

for (let i = 1990; i <= date.getFullYear(); i++) {
  years.push(i)
}

for (let i = 1 ; i <= 12; i++) {
  months.push(i)
}

for (let i = 1 ; i <= 31; i++) {
  days.push(i)
}

Page({
  data: {
    years: years,
    year: date.getFullYear(),
    months: months,
    month: 2,
    days: days,
    day: 2,
    year: date.getFullYear(),
    value: [9999, 1, 1],
  },
  bindChange: function(e) {
    const val = e.detail.value
    this.setData({
      year: this.data.years[val[0]],
      month: this.data.months[val[1]],
      day: this.data.days[val[2]]
    })
  }
})

results matching ""

    No results matching ""