使用scalatags创建表主体后添加表行

时间:2018-08-09 07:44:21

标签: html scala html-table scala.js scalatags

通常使用scalatags创建一个这样的表:

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")
   )
  )
}

*编辑: 为了澄清起见,此刻我正在做这样的事情:

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 个答案:

答案 0 :(得分:0)

当然可以做到,但与Scalatags本身无关。这是非常普通的DOM操作,您需要一个库或框架来进行操作。它可以{em> 完成in raw DOM,但是使用诸如React之类的框架或至少诸如jQuery之类的库来开发Web应用程序更为普遍。有百万个这样的选项(包括a somewhat rough Scalatags-based on I built myself);您应该选择最适合您的需求...