Ich habe gerade angefangen, Shiny zu lernen. Ich habe versucht, eine einfache, nicht reaktive App zu erstellen, bei der der Benutzer auf eine Schaltfläche klickt und ein zufälliger Vektor auf den Bildschirm gedruckt wird. Ich kann jedoch den Absenden-Button nicht funktionieren lassen.Shiny submitButton funktioniert nicht
# Load required files
lapply(c("data.table", "shiny"), require, character.only=T)
#=================================================================
# Define UI for application that draws a histogram
ui <- shinyUI(fluidPage(
# Application title
titlePanel("App-4"),
# Sidebar
sidebarLayout(
sidebarPanel(
submitButton("Submit")
),
# Print the data
mainPanel(
textOutput("myTable")
)
)
))
#=================================================================
# Define server logic
server <- shinyServer(function(input, output) {
output$myTable <- renderPrint({
sample(10)
})
})
#=================================================================
# Run the application
shinyApp(ui = ui, server = server)
Was mache ich falsch? Ich konnte dies mit einer actionButton
arbeiten, aber ich würde gerne verstehen, warum der obige Code nicht funktioniert. Vielen Dank.
„Wenn ein submitButton in einer glänzenden Anwendung vorhanden ist, verursacht es alle Eingaben auf der Seite nicht Aktualisierungen an den Server zu senden, bis die Taste gedrückt wird.“ Sie haben keine Eingaben, die aktualisiert werden müssen. – cory
Verwenden Sie 'actionButton' anstelle von' submitButton', verwenden Sie auch 'observeEvent' im Servercode. –
@cory Also, als Neuling zu Shiny, was ist der beste Designansatz, um so etwas zu erreichen? I.e. um eine App ohne Eingaben zu erstellen, aber immer noch eine Schaltfläche, die bei jedem Klick zufällig eine neue Datenmenge abfragt/mischt. Ist 'actionButton' der richtige Weg? – Ben