我想使用下拉列表将数据输入到字段日期和时间 选择菜单。请指导我如何做到这一点。我是新人 反应原生 我使用了github的tcomb-form-native模块。 请指导我完成这个。
'use strict';
var React = require('react-native');
//importing the react-native module
var t = require('tcomb-form-native');
//importing thetcomb-form-native module
var { AppRegistry, StyleSheet, Text, View, TouchableHighlight } = React;
var Form = t.form.Form;
// here we are: define your domain model
var timeSlot = t.struct({
day: t.String,
time:t.String
});
var options = {}; // optional rendering options (see documentation)
var AwesomeProject = React.createClass({
onPress: function () {
// call getValue() to get the values of the form
var value = this.refs.form.getValue();
if (value) { // if validation fails, value will be null
console.log(value); // value here is an instance of Person
}
},
render: function() {
return (
<View style={styles.container}>
{/* display */}
<Form
ref="form"
type={timeSlot}
options={options}
/>
<TouchableHighlight style={styles.button} onPress={this.onPress} underlayColor='#99d9f4'>
<Text style={styles.buttonText}>continue</Text>
</TouchableHighlight>
</View>
);
}
});
var styles = StyleSheet.create({
container: {
justifyContent: 'center',
marginTop: 50,
padding: 20,
backgroundColor: '#ffffff',
},
title: {
fontSize: 30,
alignSelf: 'center',
marginBottom: 30
},
buttonText: {
fontSize: 18,
color: 'white',
alignSelf: 'center'
},
button: {
height: 36,
backgroundColor: '#48BBEC',
borderColor: '#48BBEC',
borderWidth: 1,
borderRadius: 8,
marginBottom: 10,
alignSelf: 'stretch',
justifyContent: 'center'
}
});
module.exports=AwesomeProject
答案 0 :(得分:1)
这是一个较旧的问题,我相信您已经找到了适合您的解决方案......但实际上有很好的文档说明如何使用tcomb-form-native
实现select。 github页面上的内容只是一个起点。 Check out the extended documentation here
如果向下滚动到Select component
下面的https://github.com/gcanti/tcomb-form-native
答案 1 :(得分:0)
我创建了一个支持select(PickerIOS)的项目,并且具有原生外观。 使用我的图书馆(可通过此链接https://github.com/MichaelCereda/react-native-form-generator访问),您可以执行此类操作。
import { Form,
PickerField
} from 'react-native-form-generator';
export class MyCoolComponent extends React.Component{
handleFormChange(formData){
/*
formData will contain all the values of the form,
in this example.
formData = {
gender: '',
}
*/
}
render(){
<Form
ref='registrationForm'
onChange={this.handleFormChange.bind(this)}
name="Personal Information">
<PickerField ref='gender' placeholder='Gender'
options={{
male: 'Male',
female: 'Female'
}}/>
</Form>);
}
}