Soh*_*azi 6 javascript event-handling javascript-events react-native
我是React Native的新手,我只是想在触摸TextInput时从屏幕底部向上滑动DatePickerIOS组件.
有人可以指出我正确的方向或给我一个简单的例子吗?
以下是我的组件.这很简单.我试图在用户触摸TextInput时打开键盘或DatePickerIOS.
import React, {
AppRegistry,
Component,
StyleSheet,
Text,
TextInput,
View,
DatePickerIOS
} from 'react-native';
class AddChildVisit extends Component {
render() {
return (
<View>
<Text>Visit Date</Text>
<TextInput
style={{height: 40, width: 300, padding: 4, borderColor: 'gray', borderWidth: 1}}
keyboardType= 'numeric'
/>
<DatePickerIOS
date={new Date()}
mode="date"
/>
</View>
);
}
}
module.exports = AddChildVisit;
Run Code Online (Sandbox Code Playgroud)
小智 5
我正在使用DatePickerIOS,这是示例我将如何做到:
import React, {
AppRegistry,
Component,
StyleSheet,
Text,
TouchableOpacity,
TextInput,
View,
DatePickerIOS
} from "react-native";
var moment = require('moment');
class AddChildVisit extends Component {
constructor(props) {
super(props);
this.state = {
date: new Date(),
showDatePicker: false
}
}
render() {
var showDatePicker = this.state.showDatePicker ?
<DatePickerIOS
style={{ height: 150 }}
date={this.state.date} onDateChange={(date)=>this.setState({date})}
mode="date"/> : <View />
return (
<View>
<Text>Visit Date</Text>
<TouchableOpacity style={{height: 40, width: 300, padding: 4, borderColor: 'gray', borderWidth: 1}}
onPress={() => this.setState({showDatePicker: !this.state.showDatePicker})}>
<Text>{moment(this.state.date).format('DD/MM/YYYY')}</Text>
</TouchableOpacity>
{showDatePicker}
</View>
);
}
}
module.exports = AddChildVisit;
Run Code Online (Sandbox Code Playgroud)
当您按下TouchableOpacity时,将显示datepicker,因为您触发了标记以显示它,如果再次按下它,它将关闭.我也使用片刻打印日期,因为我收到错误,我不能把对象放在文本组件等.这个例子工作你需要安装时刻,你可以这样做:npm install moment --save,我已经在代码示例中使用它上面,你可以看到var moment = require('moment'),再次在文本中打印日期{moment(this.state.date).format('DD/MM/YYYY')}.如果您不想安装/使用它,只需从我的示例中删除行 - 但是您的日期将不会打印出来.我不确定如何用TextInput调用日期选择器,因为它必须触发键盘,当我有日期选择器时,我真的不需要键盘.我希望它有帮助:)
| 归档时间: |
|
| 查看次数: |
8977 次 |
| 最近记录: |