我想要的只是一个简单的日期输入字段,供用户选择日期。用户单击输入字段,打开日历(在本例中我们使用 Atlassian),用户选择日期,日历关闭,但输入字段保留所选日期。
因为现在我只有日历组件,我不知道如何与之交互或从中获取数据,也没有文档告诉我如何操作。这大致是我当前的代码: import Calendar from '@atlaskit/calendar'
export default class DateInputForm {
render () {
return (
<div>
<form>
<Calendar
onSelect={()=> {console.warn('do something!!)}}
onChange={()=> {console.warn('do something!!)}}/>
</form>
</div>
)
}
}
编辑:正如向我建议的那样,我创建了带有输入字段和日历的组件,但是我仍然无法获取从日历中选择的值。
export default class DatePicker extends React.Component {
static propTypes ={
value: PropTypes.string
}
constructor (props) {
super(props)
this.state = {
calendarOpened: false
}
}
openCalendar () {
this.setState({calendarOpened: true})
}
render () {
const { value } = this.props
return (
<div>
<input
value={value || 'yyyy-mm-dd'}
onClick={() => this.openCalendar()} />
{this.state.calendarOpened
? <Calendar
onSelect={() => {console.warn('do something!!)}}
onChange={() => {console.warn('do something!!)}}/>
: null}
</div>
)
}
}
Edit2:我可能应该注意到,在日历组件的 onSelect 和 onChange 期间绝对没有发生任何事情。此时我想要的只是访问我从日历组件中选择的任何日期