如何用短OR运算符返回空字符串?

时间:2018-10-04 10:59:01

标签: javascript reactjs antd

<FormItem
    hasFeedback
    validateStatus={ (isFirstRender) || (username && username.length > 6 ? "success": "error") }
>

</FormItem>

我正在验证用户输入。我只想验证输入是否不是firstRender,并且我做了(isFirstRender) || (username && username.length > 6 ? "success": "error"),如果它是firstRender,但validateStatus期望“”,“成功”,“警告”,“错误”和“正在验证”,则返回true。我想返回空字符串,如果它是firstRender。如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以将多个三元运算符链接在一起,例如:

<FormItem
    hasFeedback
    validateStatus={(isFirstRender) ? "" : (username && username.length > 6 ? "success": "error") }
>

</FormItem>

正如评论中所提到的那样,这并不是很可读,因此我建议提取第二个三进制并将其存储在变量中,如下所示:

// somewhere above
const usernameStatus = (username && username.length > 6) ? "success" : "error";

// ...

<FormItem
    hasFeedback
    validateStatus={(isFirstRender) ? "" : usernameStatus }
>

</FormItem>