Я пытаюсь создать из модели (datepicker), используя tcomb-Reaction-native с шаблоном response-native-datepicker. Значение отображается после даты выбора, но я не могу получить значение после того, как отправил форму.
Я использую валидацию по умолчанию из библиотеки tcomb, если поле пусто, значит, валидация - ошибка с изменением цвета в форме.
Это мой компонент datepicker
class MyDatePicker extends React.Component {
constructor(props) {
super(props);
this.state = {
_onDateChange:''
};
}
render() {
return (
<DatePicker
style={{width: '100%'}}
date={this.state._onChangeDate}
format="DD/MM/YYYY"
placeholder="dd/mm/yyyy"
confirmBtnText="Confirm"
cancelBtnText="Cancel"
customStyles={
{
dateIcon: {
width: 33,
height: 38,
resizeMode: 'contain',
right: 0,
marginRight: 0
},
dateInput: {
borderWidth: 0,
justifyContent:'center',
marginBottom:25,
alignItems: 'flex-start',
marginTop:25,
paddingLeft: 15,
fontSize: 17,
},
dateText:{
fontSize: 17,
},
placeholderText: {
fontSize: 17,
color: '#9e9e9e'
}
}
}
iconSource={Images.loginScreen.icon.calendar}
onDateChange={(date) => {this.setState({_onChangeDate: date})}}
/>
)
}
}
а это мой шаблон
function CustomDatePicker(locals) {
if (locals.hidden) {
return null;
}
var stylesheet = locals.stylesheet;
var formGroupStyle = stylesheet.formGroup.normal;
var controlLabelStyle = stylesheet.controlLabel.normal;
var textboxViewStyle = stylesheet.textboxView.normal;
var textboxStyle = stylesheet.textbox.normal;
if (locals.hasError) {
formGroupStyle = stylesheet.formGroup.error;
controlLabelStyle = stylesheet.controlLabel.error;
textboxViewStyle = stylesheet.textboxView.error;
}
return (
<View style={formGroupStyle}>
<Text style={controlLabelStyle}>{locals.label}</Text>
<View style={textboxViewStyle}>
<MyDatePicker/>
</View>
</View>
);
}
моя модель
const RegistrasiModel = t.struct({
Birthdate: t.Date,
})
последний мой вариант
const RegistrasiOption = {
order: [Birthdate],
auto: 'placeholders',
fields: {
Birthdate: {
label: 'Birthdate',
placeholder: 'dd/mm/yyyy',
mode: 'date',
template: CustomDatePicker
},
}
Я хочу получить значение из обычного шаблона.