NativeBase DatePicker 的使用方法
How to use NativeBase DatePicker
鉴于此 DatePicker Api 来自 NativeBase v2.5.1,我应该如何使用新选择的日期捕获更改日期事件?
如果我理解得很好,选择的日期仅在组件的内部状态下可用:
setDate(date) {
this.setState({ chosenDate: new Date(date) });
}
我想我可以使用 react native ref api 但它似乎不正确,因为其他类似组件确实提供了 onDateChange 事件,例如:react-native-datepicker
检查日期选择器的文档 https://docs.nativebase.io/Components.html#date-picker-def-headref
来自 NativeBase KitchenSink 的示例 https://github.com/GeekyAnts/NativeBase-KitchenSink/blob/master/src/screens/datepicker/index.js
已修复 v2.5.2
可以设置,
onDateChange={(date) => this.setDate(date)}
并确保您已将本机基础版本更新到 v2.6.1
退房:v2.6.1
已在 native-base v2.6.1 及更高版本中修复。
<DatePicker
formatChosenDate={date => {return moment(date).format('YYYY-MM-DD');}}
..... />
import {DatePicker} from 'native-base'
this.state = {
date : ''
}
render(){
console.log('selected date',this.state.date)
render(
<View>
<DatePicker
defaultDate={new Date(1994, 3, 23)}
// minimumDate={new Date()}
textStyle={'#000'}
placeHolderTextStyle={'#000'}
onDateChange={(date) => this.setState({ date })}
/>
</View>
)
}
鉴于此 DatePicker Api 来自 NativeBase v2.5.1,我应该如何使用新选择的日期捕获更改日期事件?
如果我理解得很好,选择的日期仅在组件的内部状态下可用:
setDate(date) {
this.setState({ chosenDate: new Date(date) });
}
我想我可以使用 react native ref api 但它似乎不正确,因为其他类似组件确实提供了 onDateChange 事件,例如:react-native-datepicker
检查日期选择器的文档 https://docs.nativebase.io/Components.html#date-picker-def-headref
来自 NativeBase KitchenSink 的示例 https://github.com/GeekyAnts/NativeBase-KitchenSink/blob/master/src/screens/datepicker/index.js
已修复 v2.5.2
可以设置,
onDateChange={(date) => this.setDate(date)}
并确保您已将本机基础版本更新到 v2.6.1
退房:v2.6.1
已在 native-base v2.6.1 及更高版本中修复。
<DatePicker
formatChosenDate={date => {return moment(date).format('YYYY-MM-DD');}}
..... />
import {DatePicker} from 'native-base'
this.state = {
date : ''
}
render(){
console.log('selected date',this.state.date)
render(
<View>
<DatePicker
defaultDate={new Date(1994, 3, 23)}
// minimumDate={new Date()}
textStyle={'#000'}
placeHolderTextStyle={'#000'}
onDateChange={(date) => this.setState({ date })}
/>
</View>
)
}