React JS“ onChange”功能在iPad上不起作用

时间:2020-03-12 15:04:02

标签: javascript reactjs react-hooks

我在输入上有一个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 :(得分:0)

这是解决方案-问题是e.target.value从技术上讲不是>0。它返回false。您要检查e.target.value!==''。

代码:

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