-
Component - Dropdownweb/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