UNPKG

cjd-parkball

Version:

> 中后台业务组件库,中后台就像公园,进入需要买门票(登录),所以以 Parkball(公园球) 命名,公园内必定捕获!作为一个组件库,提供使用方法文档,方便开发者的调用

83 lines (68 loc) 1.49 kB
--- category: 2 title: 受控面板 title_en: Controlled Panels --- zh-CN 通过组合 `mode``onPanelChange` 控制要展示的面板。 en-US Determing which panel to show with `mode` and `onPanelChange`. ````jsx import { DatePicker } from 'parkball'; const { RangePicker } = DatePicker; class ControlledDatePicker extends React.Component { state = { mode: 'time' }; handleOpenChange = (open) => { if (open) { this.setState({ mode: 'time' }); } } handlePanelChange = (value, mode) => { this.setState({ mode }); } render() { return ( <DatePicker mode={this.state.mode} showTime onOpenChange={this.handleOpenChange} onPanelChange={this.handlePanelChange} /> ); } } class ControlledRangePicker extends React.Component { state = { mode: ['month', 'month'], value: [], }; handlePanelChange = (value, mode) => { this.setState({ value, mode: [ mode[0] === 'date' ? 'month' : mode[0], mode[1] === 'date' ? 'month' : mode[1], ], }); } render() { const { value, mode } = this.state; return ( <RangePicker placeholder={['Start month', 'End month']} format="YYYY-MM" value={value} mode={mode} onPanelChange={this.handlePanelChange} /> ); } } ReactDOM.render( <div> <ControlledDatePicker /> <br /> <ControlledRangePicker /> </div>, mountNode); ````