我有4个动作按钮......但是想要相同的返回值名称。因为它用于其他元素。我将反应元素初始化为
myReactiveDF <- reactiveValues(data=NULL)
myReactiveDF <- eventReactive(input$action1, {
call functions
return(dataframe)
})
myReactiveDF <- eventReactive(input$action2, {
call functions
return(dataframe)
})
.....
但是只有最后一个按钮4才有效。前三个没有。
所有其他元素使用相同的反应元素(dataframe
)来填充。
我尝试了observeEvent
,但它没有返回值。
答案 0 :(得分:2)
以下代码应该按照我的理解来解决您的要求:
library(shiny)
ui <- fluidPage(
fluidRow(column(2, selectInput('action1', label = "Action1:", choices = c('a','b') )),
column(4, selectInput('action2', label = "Action2:", choices = c('A','B') ))),
fluidRow( verbatimTextOutput("outputs"))
)
server = function(input, output, session){
v <- reactiveValues(data = NULL)
observeEvent(input$action1, {
v$data <- input$action1
})
observeEvent(input$action2, {
v$data <- input$action2
})
output$outputs <- renderText({
if (is.null(v$data)) return()
v$data
})
}
shinyApp(ui = ui, server = server)
如果您需要的是不同的,请告诉我,以便我可以修改答案。