1

现在有没有人为什么 IntelliJ 在这里显示错误,即使 sbt 编译并且一切正常:

在此处输入图像描述

*编辑:“stopEnabled”是一个布尔值。

据我了解,为了不在这里显示错误,我必须这样写:

button(if(!stopEnabled) disabled else JsDom.Modifier.*nothing*)

有没有办法很好地解决这个问题?

4

2 回答 2

2

disabled令人讨厌-IMO,他们从一开始就错误地指出了它,并且从未使它变得更好。

顺便说一句,我猜 Scalatags 的frag()构造函数可能是最简单的解决方案:它接受它的参数并将它们包装为一个片段。我相信即使没有参数也可以。所以我认为你可以这样做:

div(
  if (stopEnabled)
    frag()
  else
    disabled := "disabled"
)
于 2018-09-06T12:20:10.443 回答
1

你可以用一个序列来做到这一点:

import scalatags.JsDom.all._

val stopEnabled = true

val modifiers = if(stopEnabled) Nil else Seq(disabled)

div(
  button(modifiers)
)
于 2018-09-06T12:02:10.640 回答