Binding.scala с использованием UI-семантики: applyDynamic не поддерживает передачу параметра vararg
Я хочу отобразить всплывающую подсказку для элемента, например:
<div class="ui item"
data:data-tooltip="Choose the adapter job"
data:data-position="bottom right">
<select id="jobConfigSelect"
class="ui compact dropdown"
onchange={_: Event =>
changeSelectedJobConfig(jobConfigSelect.value))}>
{Constants(jobConfigs.configs.values.map(selJobConfigOption).toSeq: _*)
.map(_.bind)}
</select>
</div>
Без этих 2 строк:
data:data-tooltip="Choose the adapter job"
data:data-position="bottom right"
код работает отлично.
2 ответа
Решение
Это похоже на ошибку компилятора Scala, которая была исправлена в последней версии Scala 2.12.
Он компилируется в Scala 2.12 и вызывает ошибку в Scala 2.11.
После некоторых "попыток" я нашел это решение:
Вы не можете иметь data:data-tooltip
атрибут в том же методе, что и у вас есть Constants
построить. Таким образом, вы должны разделить их:
...
<div class="ui item"
data:data-tooltip="Choose the adapter job"
data:data-position="bottom right">
{selJobConfigSelect(jobConfigs).bind}
</div>
}
@dom
private def selJobConfigSelect(jobConfigs: JobConfigs) = {
<select id="jobConfigSelect"
class="ui compact dropdown"
onchange={_: Event =>
changeSelectedJobConfig(jobConfigs.fromIdent(s"${jobConfigSelect.value}"))}>
{Constants(jobConfigs.configs.values.map(selJobConfigOption).toSeq: _*)
.map(_.bind)}
</select>
}
Что я не понял, так это: почему это так?