In meiner Shiny-Anwendung versuche ich, Logik einzubinden, um eine Aktionsschaltfläche anzuzeigen oder auszublenden, je nachdem, ob eine andere Benutzereingabe in ui.R definiert ist. Ich kann nicht die uiOutput/renderUI-Funktionalität verwenden, um dies aufgrund einiger anderer Komplexitäten in der Anwendung zu tun.Beobachten Sie das Ereignis zum Ausblenden der Aktionsschaltfläche in Shiny
Mein Ansatz besteht darin, einen Beobachter für eine Eingabe zu erstellen und dann die Aktionsschaltfläche mithilfe von CSS-Tags entsprechend ein- oder auszublenden. Ich kenne CSS und daher den Kampf nicht.
Dies ist ui Form in meiner Anwendung -
Nun, ich habe eine reaktive Funktion locationSpecified
das anzeigt, ob kehrt die Eingabestelle leer ist oder nicht, und auf dieser Grundlage muss ich ein- oder ausblenden der "RUN" Knopf.
Hier ist, wie ich die Taste "RUN" in ui.r bin Hinzufügen ...
fluidRow(column(6, align="center", offset = 3, actionButton("action", "RUN")))
Dies ist, was ich in server.R versuche (aber offensichtlich nicht funktioniert) ...
observe({
if(locationSpecified() == 1)
tags$head(tags$style(type="button/css", ".btn {display: inline-block}"))
if(locationSpecified() == 0)
tags$head(tags$style(type="button/css", ".btn {display: none}"))
})
Ich hoffe, dass die Reparatur zu diesem ist nicht so kompliziert, und ich würde mich freuen, wenn Sie mir sagen können, wie man das zur Arbeit bringt.
Vielen Dank im Voraus,
Ashish
Das 'shinyjs' Paket hat eine' toggle' Funktion, die das macht, was Sie wollen. Ein 'conditionalPanel' würde ebenfalls funktionieren. – Carl