Shiny - 更新选择输入的输入文本
Posted
技术标签:
【中文标题】Shiny - 更新选择输入的输入文本【英文标题】:Shiny - Update input text for select input 【发布时间】:2016-08-14 14:33:31 【问题描述】:我想为selectInput
函数设置一个文本值,并为每个选择项保存该值。我的尝试不起作用,我无法理解原因。
有人有想法吗?
library(shiny)
runApp(list(
ui = bootstrapPage(
sidebarPanel(
selectInput('SELoption', label = "Select option",
choices = c(
"Option 1" = 'f1',
"Option 2" = 'f2',
"Option 3" = 'f3'),
selected = 'f1')
),
mainPanel(
textInput("text", label = strong("Text"),value = 0)
)
),
server = function(input, output, session)
userEnv <- new.env()
userEnv$text <- NULL
optionID <- reactive(
if(is.null(input$SELoption))return()
return(input$SELoption)
)
observe(
fID <- optionID()
if(!is.null(userEnv$text[[fID]]))
updateTextInput(session, "text", value = userEnv$text[[fID]])
)
))
【问题讨论】:
【参考方案1】:library(shiny)
library(shinyjs)
runApp(list(
ui = tagList(useShinyjs(),bootstrapPage(
sidebarPanel(
selectInput('SELoption', label = "Select option",
choices = c(
"Option 1" = 'f1',
"Option 2" = 'f2',
"Option 3" = 'f3'),
selected = 'f1')
),
mainPanel(
disabled(textInput("text", label = strong("Text"),value = "f1"))
)
)),
server = function(input, output, session)
optionID <- reactive(
if(is.null(input$SELoption))return(NULL)
return(input$SELoption)
)
observe(
fID <- optionID()
if(!is.null(fID))
updateTextInput(session, "text", value = fID)
)
))
【讨论】:
感谢您的帮助,但这并不能保存设置的值,除了我的想法是设置一个数字,即使我使用textinput
和 numericinput
你不能任意设置以上是关于Shiny - 更新选择输入的输入文本的主要内容,如果未能解决你的问题,请参考以下文章