2016-10-17 4 views
0

In meinem glänzenden Armaturenbrett, habe ich ein Optionsfeld wie folgt,Toggle-Option in glänzend

radioButtons("view", "View Type", c("Count", "Percent"), selected = "Count") 

nun auf der Grundlage dieser Auswahl Radiobutton ich meine Ausgangs Registerkarten wollen auf die Auswahl umgeschaltet basieren. Wenn ich "Count" wähle, sollte die "Count" Ansicht angezeigt werden und die "Percent" Ansicht sollte deaktiviert sein.

Unten ist der Code für meine Haupt-Registerkarte

mainPanel(width = 9, 
    tabsetPanel("tab", 
    tabPanel(strong("Count of Objects"), tableOutput("mon")), 
    tabPanel(strong("% of Objects"), tableOutput("mon_per"))) 

Jede Hilfe sehr geschätzt wird.

Antwort

3

Sie können die Funktion updateTabsetPanel() verwenden. Dies ist der Code:

ui.R

library(shiny) 


    shinyUI(pageWithSidebar(


      headerPanel("Tabsets"), 
      sidebarPanel(
        radioButtons("view", "View Type:", 
           c("Count", "Percent"), 
           selected = "Count") 

      ), 
      mainPanel(
        tabsetPanel(id = "tab", 
           tabPanel(title = "Count of objects", 
             value = "countsOfObjects", 
             tableOutput("mon")), 
           tabPanel(title = "% of Objects", 
             value = "percentOfObjects", 
             tableOutput("mon_per"))) 

        ) 
      ) 
    ) 

server.R

library(shiny) 

    shinyServer(function(input, output, session) { 
      observeEvent(input$view, { 
        if (input$view == "Count") { 
          updateTabsetPanel(session, "tab", 
               selected = "countsOfObjects" 
          )  
        } else { 
          updateTabsetPanel(session, "tab", 
               selected = "percentOfObjects" 
          )       
        } 

      }) 

    }) 
+0

Dank für die Details. Aber das Problem, mit dem ich momentan konfrontiert bin, ist, dass die Ansicht nicht funktioniert, da ich eine getrennte Anzahl von Objekten und eine prozentuale Objektberechnung habe. –

+0

Könnten Sie bitte etwas mehr erklären, da ich Ihren Kommentar nicht vollständig verstanden habe. –

+0

Ab sofort habe ich zwei Registerkarten im Hauptbereich - countsOfObjects, percentOfObjects. Die Eingabe im linken Bereich ist für beide Registerkarten gleich. Also, in server.r habe ich separate Berechnung für "countsOfObjects" und "percentOfObjects". Also, Mein Plan ist, Standardansicht als "countsOfObjects" anzeigen mit Standard wählen Sie als "Count" im linken Bereich und durch Auswahl der Option "Prozent" im linken Bereich, nur die Prozentansicht sollte angezeigt werden und die Anzahl Ansicht sollte vollständig verschwinden. –