import { ComponentType } from 'react' import { StandardProps, CommonEventFunction } from './common' interface PickerViewProps extends StandardProps { /** 数组中的数字依次表示 picker-view 内的 picker-view-column 选择的第几项(下标从 0 开始),数字大于 picker-view-column 可选项长度时,选择最后一项。 * @supported weapp, alipay, swan, tt, qq, jd, rn */ value?: number[] /** 设置 React 非受控状态下的初始取值 * @supported weapp, alipay, swan, tt, qq, jd, rn * @unique */ defaultValue?: number[] /** 设置选择器中间选中框的样式 * @supported weapp, alipay, swan, tt, qq, jd, rn */ indicatorStyle?: string /** 设置选择器中间选中框的类名 * @supported weapp, alipay, swan, tt, qq, jd */ indicatorClass?: string /** 设置蒙层的样式 * @supported weapp, alipay, swan, tt, qq, jd */ maskStyle?: string /** 设置蒙层的类名 * @supported weapp, alipay, swan, tt, qq, jd */ maskClass?: string /** 是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件。 * @supported weapp, alipay, tt * @default false */ immediateChange?: boolean /** 选择器标题,建议标题控制在 12 个中文汉字长度内,避免出现截断现象, 截断部分将以 ... 形式展示 * @supported swan */ title?: string /** 无障碍访问,(属性)元素的额外描述 * @supported qq */ ariaLabel?: string /** 当滚动选择,value 改变时触发 change 事件,event.detail = {value: value};value为数组,表示 picker-view 内的 picker-view-column 当前选择的是第几项(下标从 0 开始) * @supported weapp, alipay, swan, tt, qq, jd, rn */ onChange?: CommonEventFunction /** 当滚动选择开始时候触发事件 * @supported weapp, alipay, tt, qq */ onPickStart?: CommonEventFunction /** 当滚动选择结束时候触发事件 * @supported weapp, alipay, tt, qq */ onPickEnd?: CommonEventFunction } declare namespace PickerViewProps { interface onChangeEventDetail { value: number[] } } /** 嵌入页面的滚动选择器 * 其中只可放置 picker-view-column 组件,其它节点不会显示 * @classification forms * @supported weapp, alipay, swan, tt, qq, jd, h5, rn, harmony_hybrid * @example_react * ```tsx * export default class Picks extends Component { * * constructor () { * super(...arguments) * 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) * } * this.state = { * years: years, * year: date.getFullYear(), * months: months, * month: 2, * days: days, * day: 2, * value: [9999, 1, 1] * } * } * * onChange = e => { * const val = e.detail.value * this.setState({ * year: this.state.years[val[0]], * month: this.state.months[val[1]], * day: this.state.days[val[2]], * value: val * }) * } * * render() { * return ( * * {this.state.year}年{this.state.month}月{this.state.day}日 * * * {this.state.years.map(item => { * return ( * {item}年 * ); * })} * * * {this.state.months.map(item => { * return ( * {item}月 * ) * })} * * * {this.state.days.map(item => { * return ( * {item}日 * ) * })} * * * * ) * } * } * ``` * @example_vue * ```html * * * * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/component/picker-view.html */ declare const PickerView: ComponentType export { PickerView, PickerViewProps }