IntelliJ показывает ошибку, используя скаляры с логическими атрибутами - PullRequest
0 голосов
/ 06 сентября 2018

Кто-нибудь сейчас объясняет, почему IntelliJ выдает здесь ошибку, даже если sbt компилируется и все работает правильно:

enter image description here

* Редактировать: "stopEnabled" является логическим значением.

Как я понимаю, чтобы не показывать здесь ошибку, мне пришлось бы написать что-то вроде этого:

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

Есть ли способ решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

disabled неприятность - ИМО, они с самого начала определили это неправильно и никогда не улучшали его.

Случайно, я бы предположил, что конструктор frag() Scalatags, вероятно, самое простое решение: он принимает свои параметры и упаковывает их в один фрагмент. Я считаю, что работает, даже если нет параметров. Поэтому я думаю, что вы могли бы сделать:

div(
  if (stopEnabled)
    frag()
  else
    disabled := "disabled"
)
0 голосов
/ 06 сентября 2018

Вы можете сделать это с помощью последовательности:

import scalatags.JsDom.all._

val stopEnabled = true

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

div(
  button(modifiers)
)
...