如何为shinydashboard的sidebarSearchForm组件设置初始值
shinydashboard的sidebarSearchForm本身没有像shinyWidgets的searchInput那样直接的value参数,但可以通过两种简单方式实现初始值设置:
方法1:直接通过HTML属性指定
sidebarSearchForm的输入框本质是普通的文本输入控件,你可以替换默认的输入框部分,手动添加value属性来设置初始值:
library(shinydashboard) ui <- dashboardPage( dashboardHeader(), dashboardSidebar( sidebarSearchForm( textId = "searchText", buttonId = "searchBtn", label = "搜索", # 替换默认输入框,添加初始值 textInput = tags$input( id = "searchText", type = "text", class = "form-control", placeholder = "输入搜索内容", value = "Option 1" ) ) ), dashboardBody() ) server <- function(input, output) {} shinyApp(ui, server)
方法2:在server端动态初始化
如果需要根据逻辑动态生成初始值,可以在app启动时调用updateTextInput设置:
library(shinydashboard) ui <- dashboardPage( dashboardHeader(), dashboardSidebar( sidebarSearchForm( textId = "searchText", buttonId = "searchBtn", label = "搜索", placeholder = "输入搜索内容" ) ), dashboardBody() ) server <- function(input, output, session) { # 启动时设置输入框初始值 updateTextInput(session, "searchText", value = "Option 1") } shinyApp(ui, server)
两种方法都能实现和searchInput的value参数一致的初始值效果,固定初始值用方法1更直接,动态场景选方法2更灵活。
内容的提问来源于stack exchange,提问作者Laura
相关产品推荐
相关产品推荐

