Ich habe eine einfache Anwendung, wo ein Benutzer den Namen eines Spielers wählt aus einem selectInput (player_name
) Dropdown-Liste und dann können Sie andere Filter von selectInputs (season
) und Radiobuttons wählen (contested
) die eine Tabelle anzeigt. Ist der Wert player_name
nicht geändert worden, ohne dass eine Senden- oder Aktionsschaltfläche verwendet wurde, wodurch die Werte season
und contested
auf ihre Standardwerte zurückgesetzt werden? Normalerweise würde ich ein conditionalPanel für Eingabeänderungen verwenden, aber in dieser Situation hat player_name
Tausende von Spielern.Shiny R: Reset andere Werte eingegeben wird, wenn selectInput Wert ändert
0
A
Antwort
0
Die basische Lösung hierfür ist eine zusätzliche uiOutput
„filters_UI“ zu verwenden, um die zweite selectInput und Radiobuttons zu setzen und auch input$player_name
, um es hinzuzufügen, so zu jeder Zeit, dass die Spielernamen ändert, wird der komplette uiOutput
wieder mit dem erstellt werden Anfangswerte. Siehe das Beispiel unten.
library(shiny)
ui <- fluidPage(
fluidRow(
column(6, uiOutput('controls_UI')),
column(6, DT::dataTableOutput("table_DT"))
)
)
server <- shinyServer(function(input, output, session) {
# to simulate players
dat <- USJudgeRatings
players <- row.names(dat)
seasons <- names(dat)
output$controls_UI <- renderUI({
fluidRow(
column(6,
selectInput("player_name", "Players", players, selected = players[1])
),
column(6,
uiOutput("filters_UI"))
)
})
# render again if input$player_name changes
output$filters_UI <- renderUI({
input$player_name
fluidRow(
column(6,
selectInput("season", "Season", seasons, selected = seasons[1])
),
column(6,
radioButtons("contested", label = "Contested",
choices = list("Choice 1" = 1, "Choice 2" = 2, "Choice 3" = 3),
selected = 1)
)
)
})
output$table_DT <- DT::renderDataTable(
datR(),
options = list(
scrollX = TRUE,
paging = TRUE,
lengthMenu = c(10, 20, 50)
),
selection = "single",
rownames = TRUE
)
# creates a table based on the sliders and radio buttons
datR <- reactive({
input$player_name
varName <- input$season
contested <- ifelse(is.null(input$contested),1,as.integer(input$contested))
dat0 <- data.frame(dat[sample(2:length(players),contested*3), varName])
names(dat0) <- varName
dat0
})
})
shinyApp(ui, server)
Ich hoffe, es könnte Ihnen helfen.
Verwandte Themen
- 1. R Shiny selectInput Reaktivität
- 2. SelectInput und wenn Schleife Plot R Shiny
- 3. R shiny selectInput mit \ r \ n
- 4. Anzeige nur einen Wert in SelectInput in R Shiny App
- 5. R Shiny selectInput, das von einem anderen selectInput abhängig ist
- 6. SelectInput in Shiny
- 7. R selectInput Reaktivitätsprobleme
- 8. Probleme mit SelectInput in Shiny
- 9. R-Shiny mit Reactive renderUI-Wert
- 10. Shiny selectInput von Spalte DF
- 11. R - Shiny Filter für 'Alle' Werte
- 12. drei voneinander abhängige SelectInput in R/Shiny-Anwendung
- 13. Aktualisierungsoptionen für dynamisch erstellte selectInput-Felder in R Shiny
- 14. focus: keine funktioniert nicht für selectInput in R Shiny
- 15. Coloring die Optionen in einem SelectInput in R Shiny
- 16. Update Auswahl Eingang ohne Reset in R Shiny
- 17. Rückgabe Datenrahmen Wert in reaktiven Selectinput für Shiny
- 18. SelectInput nicht mit updateSelectInput in Shiny zurücksetzen
- 19. R Shiny Schieberegler Wert dynamisch machen
- 20. R Shiny: geschachtelte Beobachtungsfunktionen
- 21. Fehler in mehreren selectInput in Shiny
- 22. Reset Row_Number() Wert, wenn Dense_Rank() Wert erhöht
- 23. R glänzend load data.frame für selectInput
- 24. Werte nach der Eingabe in R zuweisen Shiny
- 25. Shiny/R: Fehlermeldung ausblenden, wenn kein Wert in selectizeInput
- 26. R Raster Zusammenführen Ändert Werte
- 27. Eindeutige Werte funktionieren nicht in R glänzend selectInput
- 28. R Shiny mit validate: Plot wird nur nach Größenänderung aktualisiert
- 29. Wie zeigt man verschiedene Bilder nach selectInput in Shiny?
- 30. Reset jquery max-height wenn Geräteausrichtung ändert