React Native 不显示来自 TextInput 的 Datepicker
Posted
技术标签:
【中文标题】React Native 不显示来自 TextInput 的 Datepicker【英文标题】:React Native doesn't show Datepicker from TextInput 【发布时间】:2017-02-09 07:45:51 【问题描述】:我想知道是否可以在按下 TextInput 时显示日期选择器模式。
我正在使用TouchableWithoutFeedback
和TextInput
。如果我使用Text
效果很好,但是当我使用 TextInput 时,日期选择器模式不会出现。
我之所以使用 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
时,它会弹出日期选择器模式,然后我可以从模式中选择日期。
【问题讨论】:
【参考方案1】:你只需要在TextInput的onFocus
props中调用showPicker
函数。像这样:
<TextInput onFocus = this.showPicker.bind(this, 'simple', date: this.state.simpleDate )>
如果我的想法不符合您的目标,请原谅我。
【讨论】:
嗨,谢谢,是的,它可以工作,但是.. 文本输入仍然是可编辑的,我尝试将可编辑设置为 false,但未触发 showPicker 功能。 您好,您可以尝试import DismissKeyboard from 'dismissKeyboard';
并在onFocus props
中调用DismissKeyboard()
函数。以上是关于React Native 不显示来自 TextInput 的 Datepicker的主要内容,如果未能解决你的问题,请参考以下文章
react-native textinput securetextentry 星而不是点
React Native 不显示来自 TextInput 的 Datepicker
使用 react native Flatlist 显示来自文件名数组的图像
React Native - 来自 JSON 的地图数据可以显示为文本,但不能显示为地图标记坐标
升级到 React Native 0.27.0 后 Systrace 不显示 JavaScript 内容
当 React Native IOS App 中的 FlatList 为空时,ListEmptyComponent 不显示消息