Rio JS Ternary для условного события onClick
Я хочу условно назначить обработчик событий в теге бунта... поэтому я попробовал следующее:
<ul>
<li class="email__ {active--: showEmail} {disabled--: !hasEmailMsg}"
onClick={hasEmailMsg: handlePreviewChange('email')}
></li>
<li class="mobile__ {active--: showMobile} {disabled--: !hasMobileMsg}"
onClick={hasMobileMsg: handlePreviewChange('mobile')}
></li>
</ul>
Но думает что hasEmailMsg
/ hasMobileMsg
функции обратного вызова... есть идеи, как этого добиться?
1 ответ
Решение
Я не использовал Riot.js, но, похоже, вы не используете обычный троичный синтаксис JavaScript. Вы пробовали синтаксис вроде:
<li class="email__ {active--: showEmail} {disabled--: !hasEmailMsg}"
onClick={hasEmailMsg ? handlePreviewChange('email') : doNothing }
></li>
где doNothing
это просто функция, которая.. ничего не делает. (Предполагая, что это поведение, которое вы хотите).
Я не знаком с вашей точной настройкой, но я попытался сделать короткую демонстрацию с использованием JSFiddle здесь: https://jsfiddle.net/jonahe/hfu52x0s/ где я получил троичную функциональность. У вас, вероятно, больше шансов, чем у меня, увидеть параллели с вашим кодом.