Как получить значение datepicker в шаблоне tcomb-form-native? - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь создать из модели (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

        },
}

Я хочу получить значение из обычного шаблона.

...