在闪亮中如何使用操作按钮的值更新输入文本字段

时间:2016-04-02 21:48:40

标签: button action shiny-server shiny

您好我想创建一个闪亮的用户界面,用户可以在数据集的名称中键入文本框“testdataset”。然后通过单击和操作按钮选择此(示例)分析1或分析2中的特定过程。一旦发生这种情况,我希望文本框显示原始数据集名称加上选择的分析,即“testdataset-analysis1”。我已经构建了下面的示例UI,但我是R的新手,并且不知道如何捕获事件并在UI和服务器之间传递变量并渲染它们。有人可以帮忙吗? example of what i would like to achieve
       库(有光泽)

  #====shiny UI
  shinyUI(pageWithSidebar(
    headerPanel("Shiny action button input "),
    sidebarPanel(
      textInput(inputId="data1", label = "Input data name"),

      actionButton("Ana1", "analysis1"),
      actionButton("Ana2", "analysis2")
    ),
    mainPanel(
  #
    )
  ))

  #====shiny server
  shinyServer(
    function(input, output) {
      output$data1 <- renderText({input$data1})

    })
  }
  )

  runApp()#to run application

1 个答案:

答案 0 :(得分:3)

这不是一个完整的答案,但尝试自己是好的。通常,使用updateTextInput更新文本,使用observeEvent观察按钮上的单击操作,使用input$name捕获输入值,并使用output$name <- render...设置输出。您可以在官方的Shiny参考中找到几种updateInput方法。 http://shiny.rstudio.com/reference/shiny/latest/

例如,在您的服务器代码中

function(session, input, output) {
    observeEvent(input$Ana1, {
        name <- paste(input$data1, "analysis 1")
        updateTextInput(session, "data1", value=name)
    }
}