我有以下问题(很长一段时间我无法解决)。我正在尝试存储对应于例如文本输入的文本输入。 “选项1”从下拉列表变为变量(在userEnv中)。接下来,我想更改下拉菜单中的选项,例如“选项2”并再次将文本检索到变量和存储等
我在下面附上了server.R和ui.R的代码。
任何人都可以告诉我,我应该怎么做才能保持文本输入保存在userEnv中,即使我选择了另一个选项。此外,我希望能够在输入后查看我的输入。
一堆!
A)server.R:
library(shiny)
shinyServer(function(input, output) {
userEnv <- new.env()
userEnv$text <- NULL
optionID <- reactive({
isolate({print("inside reactive")})
if(is.null(input$SELoption)){return(NULL)}
return(input$SELoption)
})
observe({
fID <- optionID()
isolate({print("inside observe")})
isolate({print(paste0("fID: ", fID))})
if(!is.null(userEnv$text[[fID]])) updateTextInput(session, "text", value = userEnv$text[[fID]])
isolate({print(paste0("input$text: ", input$text))})
})
})
B)ui.R:
library(shiny)
shinyUI(fluidPage(
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)
)
))