Ich baue eine glänzende App, in der eine Abfrage von textInput
gemacht wird, wenn der Benutzer auf die Schaltfläche "Suche" klickt. Ich möchte, dass diese Schaltfläche deaktiviert wird, wenn die textInput
Box leer ist. Ich benutze shinyjs::toggleState()
hier, aber ich kann nicht herausfinden, welche Logik es anwenden muss, um zu sehen, dass das Textfeld leer ist. In meiner unten aufgeführten reproduzierbaren Datei lautet die Logik, die ich einstelle, is.null(input$query)
. Ich habe auch mit is.na(input$query)
, length(input$query) == 0
und input$query == ''
versucht, alles ohne Erfolg Was sollte ich stattdessen dort setzen?Schaltfläche deaktivieren, wenn der Texteintrag leer ist in Shiny App [R]
Hier ist die app.r Datei:
library(shiny)
library(shinyjs)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
useShinyjs(),
textInput(inputId = "query", label = "Enter query:", value = ""),
actionButton(inputId = "search", label = "Search", icon = icon("search"))
),
mainPanel()
)
)
server <- function(input, output) {
observe({
toggleState("search", !is.null(input$query))
})
}
shinyApp(ui = ui, server = server)
Verwenden 'toggleState ("Suche", geben $ query = "" | is.null (! Eingabe $ query)) ' – Sagar