用于条件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/ 我在其中使用了三元函数。您可能比我更有机会看到您的代码的相似之处。