Реактивная JS функция «onChange» не работает на iPad - PullRequest
0 голосов
/ 12 марта 2020

У меня есть onChange -вент на прослушивании входа, когда target.value больше 0, чтобы классы могли затем отображать кнопку.

Это работает на рабочем столе, но не работает на iPad Safari - я не уверен, почему?

Примечание. Я использую стилизованные компоненты, и PDInput объявляется как вход.

const PDInput = styled.input`
    background: #fff;
    border: none;
    border-bottom: 1px solid #f2f2f5;
    padding: 8px 0;
    padding-left: ${props => props.amount ? "15px" : "0"};
    font-size: 16px;
    color: #0c2074;
    width: 100%;
    margin-bottom: 24px;

    &::placeholder {
        color: #0c2074;
        opacity: 0.5;
    }
`

const updateRef = e => {
    if(e.target.value > 0) {
        setRef(true);
    } else {
        setRef(false);
    }
}


<PDInput type="text" placeholder="E.G Rent" onChange={(e) => updateRef(e)} />

1 Ответ

0 голосов
/ 12 марта 2020

Вот решение - проблема была в том, что e.target.value технически не> 0. Он возвращает false. Вы хотите проверить, является ли e.target.value! == ''.

Код:

const updateRef = e => {
        if(e.target.value > 0 || e.target.value !== '') {
            setRef(true);
        } else {
            setRef(false);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...