Как вернуть пустую строку в коротком операторе ИЛИ? - PullRequest
0 голосов
/ 04 октября 2018
<FormItem
    hasFeedback
    validateStatus={ (isFirstRender) || (username && username.length > 6 ? "success": "error") }
>

</FormItem>

Я проверяю пользовательский ввод.Я хочу проверить ввод, только если это не firstRender, и я сделал (isFirstRender) || (username && username.length > 6 ? "success": "error"), и это возвращает true, если это firstRender, но validateStatus ожидает "", "success", "warning", "error" и "validating".Я хочу вернуть пустую строку, если это firstRender.Как это сделать?

1 Ответ

0 голосов
/ 04 октября 2018

Вы можете объединить несколько троичных операторов вместе, что-то вроде:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...