Я создаю блестящее приложение, в котором запрос из textInput
выполняется, когда пользователь нажимает кнопку действия «поиск». Я бы хотел, чтобы эта кнопка была отключена, если поле textInput
пусто. Я использую здесь shinyjs::toggleState()
, но не могу понять, какую логику нужно применить, чтобы увидеть, что текстовое поле пусто. В моем воспроизводимом файле ниже я применил логику is.null(input$query)
. Я также пробовал с is.na(input$query)
, length(input$query) == 0
и input$query == ''
, все безуспешно Что я должен поставить вместо этого?
Вот файл app.r:
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)