2016-04-02 34 views
3

您好我想创建一个闪亮的用户界面,用户可以在数据集的名称中键入一个文本框称为“testdataset”。然后通过单击并选择操作按钮以在此(示例)分析1或分析2中选择特定过程。一旦发生这种情况,我希望文本框显示原始数据集名称以及所选分析,即“testdataset-analysis1”。我已经在下面构建了一个示例UI,但是Im对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

这不是一个完整的答案,但它是很好的尝试为自己。通常,使用updateTextInput更新文本,使用observeEvent观察按钮上的点击操作,使用input$name来捕获输入值,并使用output$name <- render...来设置输出。有几种updateInput方法可以在官方Shiny参考中找到。 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) 
    } 
}