当用户单击一个< input >
元素时,我会显示一个模式,供用户选择一个 DateTime。然后,所选值显示为< input >
元素的值。这工作正常。
第一个问题:
但是,之后,< input >
元素中会显示一个光标。情况不妙。如果用户输入任何内容,它会被覆盖,因为它会获取已由 DateTime Picker 设置的状态值。此元素不应手动编辑。它应该只接受来自 DateTime 选择器的值。
第二个问题:
如果用户再次点击< input >
元素,模式不会再次显示。情况不妙。我希望用户能够选择不同的值。
如何解决以上 2 个问题?
import { Input } from 'react-native-elements';
import DateTimePicker from "react-native-modal-datetime-picker";
....
state = {
isDateTimePickerVisible: false,
};
.....
<Input
label='From'
placeholder='01/01/2019 09:00 AM'
onFocus={() => this.setState({ isDateTimePickerVisible: true })}
value={dateTimeValue}
/>
<DateTimePicker
isVisible={this.state.isDateTimePickerVisible}
onConfirm={this.handleDatePicked}
onCancel={this.hideDateTimePicker}
/>
....
handleDatePicked = (dateTime) => {
this.hideDateTimePicker();
this.setState({ shiftFromDateTime: dateTime });
};
hideDateTimePicker = () => {
this.setState({ isDateTimePickerVisible: false });
};