Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Input datepicker

Olá boa tarde

Estou usando o datepicker para inserir datas.

Quando coloco a data "na mão" e erro ela por exemplo. Apago os números no teclado mas sempre sobra um numero.

Segue abaixo a função:

handleDateChange = (event) => { const newDate = event.target.value;

    if (newDate === '') return;

    const fullDate = /^([0-2][0-9]|(3)[0-1])(\/)(((0)[0-9])|((1)[0-2]))(\/)\d{4}$/.test(newDate);

    const selected = fullDate
        ? moment(event.target.value, this.props.dateFormat).locale(this.props.locale)
        : moment().locale(this.props.locale);

    this.setState({
        selected,
        inputDateValue: event.target.value,
    }, () => {
        this.props.onChangeDate(fullDate ? selected.format('YYYY-MM-DD') : newDate, 'input');
    });
};
4 respostas
solução!

Fala aí Vittorino, tudo bem? Vi que você está usando React, pelo menos possuí os códigos do React, caso não esteja, desconsidere essa resposta e a gente parte para outra solução.

Bom, para o React existe uma lib bem famoso criada pela Airbnb para trabalhar com datas:

https://github.com/airbnb/react-dates

Ela não faz uso do jQuery e nem do input='datepicker'.

O input do tipo datepicker não é muito bom, ele possuí alguns problemas e limitações em seu uso, normalmente a gente cria uma datepicker na mão.

Espero ter ajudado.

Sim estou usando react + jsx + html, etc ..

Mas o problema é que recém comecei a conhecer código e se eu mudar muito a lógica não sei o quanto isso pode impactar no resto da aplicação entende ?

Por isso procurei uma alternativa para resolver o bug no datepicker.

Pelo que eu vi aqui, estamos usando react-datepicker e quando eu tento apagar os números usando Delete ou Backspace os números não apagam.

Entendi Vittorino, faz sentido sua preocupação e concordo com ela.

O react-datepicker seria esse: https://reactdatepicker.com/? Se sim, estranho, pois já usei ele e não tive esse problema.

Qual navegador você está usando? Qual versão da lib? Qual S.O?

Pode ser que seja um bug mais específico.

Fico no aguardo.