Reactjs DatePickeros没有出现在屏幕上
我有一行,其中日期显示在点击该视图,我想一个日期选择器弹出并显示Reactjs DatePickeros没有出现在屏幕上,reactjs,react-native,datepicker,react-native-android,react-native-ios,Reactjs,React Native,Datepicker,React Native Android,React Native Ios,我有一行,其中日期显示在点击该视图,我想一个日期选择器弹出并显示 class EditProfilePicture extends React.Component { state = { currentDate: new Date() }; setCurrentDateForIOS = currentDate => { this.setState({ currentDate }); }; pickDate = () => ( <View>
class EditProfilePicture extends React.Component {
state = {
currentDate: new Date()
};
setCurrentDateForIOS = currentDate => {
this.setState({ currentDate });
};
pickDate = () => (
<View>
{Platform.OS === "ios" ? (
<DatePickerForIOS
setCurrentDateForIOS={this.setCurrentDateForIOS}
/>
) : (
DatePickerForAndroid().then(currentDate =>
this.props.changeBirthDate({ currentDate })
)
)}
</View>
);
render() {
return (
<View>
<View style={styles.Container}>
<Text style={styles.heading}>Your birthday</Text>
<TouchableWithoutFeedback onPress={this.pickDate}>
<View style={styles.dropdown}>
<Text style={styles.textStyle}>
{DateFormatter(this.state.currentDate)}
</Text>
<Icon name="chevron-down" color={MED_GREY} />
</View>
</TouchableWithoutFeedback>
</View>
</View>
);
}
}
在DatePickerForIOS我有这个--
import React from "react";
import PropTypes from "prop-types";
import { DatePickerIOS } from "react-native";
const DatePickerForIOS = props => {
return (
<DatePickerIOS
date={new Date()}
mode="date"
onDateChange={() => props.setCurrentDateForIOS}
/>
);
};
DatePickerIOS.propTypes = {
setCurrentDateForIOS: PropTypes.func.isRequired
};
export default DatePickerForIOS;
虽然该代码适用于android,但在IOS中,屏幕最初包含NAN/NAN/NAN作为文本,当单击视图时,日期选择器不会打开。DatePickerIOS需要是EditProfilePicture的渲染功能的一部分
当前,您可以从OnPress from Touchable创建组件,无需反馈
你需要做一些类似于说的事情
您需要隐藏/显示一个状态布尔值来切换开关。
在不知道你的Android代码的情况下,我怀疑这就像一个弹出模式
另一个解决方案是使用类似这样的软件包,它在iOS和Android之间具有相同的接口
render() {
return (
<View style={styles.container}>
<DatePickerIOS
date={this.state.chosenDate}
onDateChange={this.setDate}
/>
</View>
)
}