<script> import '../assets/index.less' import moment from 'moment' import TimePicker from '../index' const format = 'h:mm a' const now = moment().hour(0).minute(0) function onChange (value) { console.log(value && value.format(format)) } const showSecond = true const str = showSecond ? 'HH:mm:ss' : 'HH:mm' const now1 = moment().hour(14).minute(30) function generateOptions (length, excludedOptions) { const arr = [] for (let value = 0; value < length; value++) { if (excludedOptions.indexOf(value) < 0) { arr.push(value) } } return arr } function onChange1 (value) { console.log(value && value.format(str)) } function disabledHours () { return [0, 1, 2, 3, 4, 5, 6, 7, 8, 22, 23] } function disabledMinutes (h) { switch (h) { case 9: return generateOptions(60, [30]) case 21: return generateOptions(60, [0]) default: return generateOptions(60, [0, 30]) } } function disabledSeconds (h, m) { return [h + m % 60] } export default{ data () { return { open: false, value: moment(), } }, methods: { setOpen ({ open }) { this.open = open }, toggleOpen () { this.open = !this.open }, handleValueChange (value) { console.log(value && value.format('HH:mm:ss')) this.value = value }, clear () { this.value = undefined }, }, render () { return ( <div> <TimePicker showSecond={false} defaultValue={now} class='xxx' onChange={onChange} format={format} use12Hours inputReadOnly /> <br/> <br/> <div> <h3>Disabled picker</h3> <TimePicker defaultValue={now1} disabled onChange={onChange1} /> <h3>Disabled options</h3> <TimePicker showSecond={showSecond} defaultValue={now1} class='xxx' onChange={onChange1} disabledHours={disabledHours} disabledMinutes={disabledMinutes} disabledSeconds={disabledSeconds} /> </div> <div> <TimePicker defaultValue={moment()} showHour={false} /> <TimePicker defaultValue={moment()} showMinute={false} /> <TimePicker defaultValue={moment()} showSecond={false} /> <TimePicker defaultValue={moment()} showMinute={false} showSecond={false} /> <TimePicker defaultValue={moment()} showHour={false} showSecond={false}/> <TimePicker defaultValue={moment()} showHour={false} showMinute={false} /> </div> <TimePicker format={str} showSecond={showSecond} // use to control utfOffset, locale, default open value defaultOpenValue={moment()} class='xxx' onChange={onChange1} disabledHours={() => [0, 1, 2, 3, 4, 5, 6, 7, 8, 22, 23]} disabledMinutes={() => [0, 2, 4, 6, 8]} hideDisabledOptions /> <div> <button onClick={this.toggleOpen}>Toggle open</button> <TimePicker open={this.open} onOpen={this.setOpen} onClose={this.setOpen} focusOnOpen /> </div> <TimePicker style={{ width: '100px' }} showSecond={showSecond} defaultValue={moment()} class='xxx' onChange={onChange} /> <TimePicker defaultValue={moment()} showSecond={false} minuteStep={15} /> <div> <TimePicker defaultValue={this.value} onChange={this.handleValueChange} /> <TimePicker value={this.value} onChange={this.handleValueChange} /> <button onClick={this.clear}>clear</button> </div> </div> ) }, } </script>