闪亮:将文本输入存储到变量中,条件是从下拉框中选择

时间:2016-04-22 14:51:55

标签: shiny reactive-programming textinput

我有以下问题(很长一段时间我无法解决)。我正在尝试存储对应于例如文本输入的文本输入。 “选项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)
  )
))

0 个答案:

没有答案