ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Component - Dropdown
    web/laminar 2022. 1. 9. 21:33

    문제

    laminar 와 fomantic-UI 의 Dropdown 을 이용해, 재활용 가능한 component 를 만들어 보자

    코드

    import com.raquo.laminar.api.L._
    import com.raquo.laminar.nodes.ReactiveHtmlElement
    import org.scalajs.dom
    import org.scalajs.dom.html
    
    object Main {
      class Dropdown(name: String, items: Seq[String]) {
        val selectedVar: Var[String]               = Var("")
        val elem: ReactiveHtmlElement[html.Select] = select(
          cls := "ui selection dropdown",
          value <-- selectedVar.signal,
          onChange.mapToValue --> selectedVar,
          option(name, value := ""),
          items.map { item =>
            option(item, value := item)
          }
        )
      }
    
      def main(args: Array[String]): Unit = {
        val dropdown = new Dropdown("Search Engine", List("naver", "google", "yahoo"))
    
        val content = div(
          dropdown.elem,
          div(
            label("selected: "),
            child.text <-- dropdown.selectedVar.signal
          )
        )
    
        val containerNode = dom.document.getElementById("main_content")
        render(containerNode, content)
      }
    }

    결과

    'web > laminar' 카테고리의 다른 글

    Component - Radio  (0) 2022.01.09
    Component - Checkbox  (0) 2022.01.09
    Var.updater() 사용하기  (0) 2022.01.08
    Ajax 호출하기  (0) 2022.01.08
    javascript(plotly.js) 호출하기  (0) 2022.01.08

    댓글

Designed by Tistory.