Добавить строку таблицы после создания тела таблицы с использованием скалатагов

Используя скаляры, обычно я создаю таблицу следующим образом:

table(
  thead(
    tr(
      th("A"),
      th("B")
    )
  ),
  tbody(
   tr(
    td("HELLO"),
    td("WORLD")
   ),
   tr(
    td("FOO"),
    td("BAR")
   )
  )
)

Можно ли добавить tr элементы после того, как таблица была объявлена? Примерно так было бы здорово

val myTableBody = tbody(
   tr(
    td("HELLO"),
    td("WORLD")
   )
)

table(
  thead(
    tr(
      th("A"),
      th("B")
    )
  ),
  myTableBody
)

if(myCondition){
  myTableBody.addTr( // this is what I am searching for
   tr(
    td("FOO"),
    td("BAR")
   )
  )
}

*edit: для пояснения, на данный момент я делаю что-то вроде этого:

table(
  thead(
    tr(
      th("A"),
      th("B")
    )
  ),
  tbody(
   tr(
    td("HELLO"),
    td("WORLD")
   ),
   if(myCondition){
    tr(
     td("FOO"),
     td("BAR")
    )
   } else {
    tr() // this is a bit ugly
   }
  )
)

1 ответ

Это, конечно, можно сделать, но не имеет ничего общего со скалатагами как таковыми. Это довольно обычная манипуляция с DOM, и для работы вам нужна библиотека или фреймворк. Это может быть сделано в сыром DOM, но чаще разрабатывать веб-приложения с использованием таких сред, как React, или, по крайней мере, таких библиотек, как jQuery. Есть миллионы таких опций (в том числе несколько грубых, основанных на Scalatags, которые я создал сам) Вы должны выбрать, какой из них лучше всего соответствует вашим потребностям...

Другие вопросы по тегам