javascript - 如何在短 OR 运算符中返回空字符串?
问题描述
<FormItem
hasFeedback
validateStatus={ (isFirstRender) || (username && username.length > 6 ? "success": "error") }
>
</FormItem>
我正在验证用户输入。我只想验证输入,如果它不是 firstRender 并且我做了(isFirstRender) || (username && username.length > 6 ? "success": "error")
,如果它是 firstRender 则返回 true,但 validateStatus 期望“”,“成功”,“警告”,“错误”和“验证”。如果是 firstRender,我想返回空字符串。如何做到这一点?
解决方案
您可以将多个三元运算符链接在一起,例如:
<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>
推荐阅读
- python - 迭代地将列和行插入到 2d numpy
- mule - 如何通过 PATCH 或 PUT 方法编辑在 Anypoint Exchange 中创建的资产门户?
- r - 如何为列表中的每个项目记录某些汇总统计信息?
- java - Payara - 连接到 mysql 数据库
- ms-word - 如何在java中使用apache poi在word文件中添加嵌入文档的附件
- python - 如果子字符串与 dict 键匹配,则用 dict 值替换子字符串?
- makefile - sconstruct 如何接收输入?
- javascript - 如何让我的按钮使用 javascript 工作?
- react-native - FAILURE:构建失败并出现异常。错误安装应用程序失败
- html - 网站中的这个部分叫什么?