我想知道是否可以在按下文本输入时显示日期选择器模式。
我正在使用TouchableWithoutFeedback
和TextInput
.如果我使用 Text
,它工作得很好,但是当我使用 TextInput 时,日期选择器模式不会显示。
我之所以使用文本输入,是因为我想使用underlineColorAndroid
道具。
这是代码
showPicker = async (stateKey, options) => {
try {
const newState = {};
const { action, year, month, day } = await DatePickerAndroid.open(options);
if (action === DatePickerAndroid.dismissedAction) {
newState[stateKey + 'Text'] = 'dismissed';
} else {
const date = new Date(year, month, day);
newState[stateKey + 'Text'] = date.toLocaleDateString();
newState[stateKey + 'Date'] = date;
}
this.setState(newState);
} catch ({ code, message }) {
console.warn(`Error in example '${stateKey}': `, message);
}
};
<TouchableWithoutFeedback
onPress={this.showPicker.bind(this, 'simple', { date: this.state.simpleDate })}
>
<TextInput
placeholder="Where the event held*"
onFocus={() => this.onFocus()}
onFocus={() => this.onFocus()}
style={{
height: 60, backgroundColor: this.state.backgroundColor, color: this.state.color
}}
value={this.state.simpleText}
/>
</TouchableWithoutFeedback>
目标是每当我按下/单击TextInput
时,它都会弹出日期选择器模式,然后我可以从模态中选择日期。
你只需要在 TextInput 的 props onFocus
调用showPicker
函数。诸如此类:
<TextInput onFocus = {this.showPicker.bind(this, 'simple', { date: this.state.simpleDate })}>
如果我的想法不符合你的目标,请原谅我。