मेरे पास 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
Tarak 10 जिंदा 2017, 11:29

1 उत्तर

सबसे बढ़िया उत्तर

जैसा कि मैं उन्हें समझता हूं, निम्नलिखित कोड को आपकी आवश्यकता को संबोधित करना चाहिए:

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)

अगर आपको जो चाहिए वह अलग है, कृपया मुझे बताएं ताकि मैं उत्तर में संशोधन कर सकूं।

2
Enzo 10 जिंदा 2017, 14:14