用于条件onClick事件的riot js三元组
riot js ternary for conditional onClick event
我想在 riot 标签中有条件地分配一个事件处理程序...所以我尝试了以下操作:
<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
是回调函数...关于如何实现这个有什么想法吗?
没用过Riot.js,但看起来你用的不是普通的JavaScript三元语法。您是否尝试过如下语法:
<li class="email__ {active--: showEmail} {disabled--: !hasEmailMsg}"
onClick={hasEmailMsg ? handlePreviewChange('email') : doNothing }
></li>
其中 doNothing
只是一个函数,什么都不做。 (假设这是你想要的行为)。
我不熟悉您的确切设置,但我尝试在此处使用 JSFiddle 进行 简短演示:https://jsfiddle.net/jonahe/hfu52x0s/ 我在其中使用了三元函数。您可能比我更有机会看到您的代码的相似之处。
我想在 riot 标签中有条件地分配一个事件处理程序...所以我尝试了以下操作:
<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
是回调函数...关于如何实现这个有什么想法吗?
没用过Riot.js,但看起来你用的不是普通的JavaScript三元语法。您是否尝试过如下语法:
<li class="email__ {active--: showEmail} {disabled--: !hasEmailMsg}"
onClick={hasEmailMsg ? handlePreviewChange('email') : doNothing }
></li>
其中 doNothing
只是一个函数,什么都不做。 (假设这是你想要的行为)。
我不熟悉您的确切设置,但我尝试在此处使用 JSFiddle 进行 简短演示:https://jsfiddle.net/jonahe/hfu52x0s/ 我在其中使用了三元函数。您可能比我更有机会看到您的代码的相似之处。