尽管进行了许多试验,但我找不到意外的令牌错误。我错过了什么?

时间:2018-02-09 17:47:54

标签: reactjs

朋友。我似乎无法在我的生命中找到意外的令牌错误。我正在尝试检查输入是否有值,如果有,检查它是否是一个邮政编码并且长度合适。我在某个地方遗漏了某些东西而且我的页面无法呈现。

onInputBlur = (event) => {
    console.log('onblur')
    let inputInfo = event.target
    let inputVal = event.target.value,
        {
            styles
        } = this.props,
        fontSize = styles.placeholder.fontSize || 10,
        top = styles.placeholder.top || 4
    console.log(inputInfo.id.toString())
    console.log(inputVal.split('').length)


    if (inputVal) {
        if (inputInfo.id.toString() == 'zip' && inputVal.split('').length < 4) {
            console.log('ziphit')
            return this.setState(state => ({
                inputCSS: {
                    ...state.inputCSS,
                    border: '1px solid red'
                }
            }))
        } else(inputInfo.id.toString() == 'zip' && inputVal.split('').length >= 4) {
            return this.setState(state => ({
                inputCSS: {
                    ...state.inputCSS,
                    border: '1px solid green'
                }
            }))
        }
        return this.setState(state => ({
            inputCSS: {
                ...state.inputCSS,
                border: '1px solid green'
            }
        }))
        else {
            return this.setState(state => ({
                inputCSS: {
                    ...state.inputCSS,
                    border: '1px solid red'
                }
            }))
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我相信@lux是正确的。看来

else(inputInfo.id.toString() == 'zip' && inputVal.split('').length >= 4)

应该是

else if(inputInfo.id.toString() == 'zip' && inputVal.split('').length >= 4)

另外,我不确定它是否有意,但你有额外的退货声明。

return this.setState(state => ({
        inputCSS: {
            ...state.inputCSS,
            border: '1px solid green'
        }
    }))