Как вызвать наблюдаемое событие в блестящем, когда очищено несколько selectizeInput - PullRequest
0 голосов
/ 19 октября 2018

Я бы хотел, чтобы observeEvent срабатывал при очистке списка входов.

Вот небольшой пример приложения:

library(shiny)

ui <- fluidPage(

  selectizeInput(inputId='select',
                 label='Select something',
                 multiple=TRUE,
                 choices=letters[1:3])
)

server <- function(input, output){

  observeEvent(input$select, {
    print(input$select)
  })
}

shinyApp(ui=ui, server=server)

Теперь каждый раз, когда я выбираю другую буквуobserveEvent срабатывает.Также удаление письма запускает событие.Однако удаление последней буквы, похоже, ничего не вызывает.

Я попробовал решение здесь , но, похоже, оно не применимо к моему делу (или мне не удается заставить его работать).

Таким образом, мой ожидаемый результат будет таким, что после выбора a он печатает "a", а затем после удаления a, что он также печатает что-то (будь то NULL или "").

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

observeEvent имеет ряд аргументов

наблюдайте событие (eventExpr, handlerExpr, event.env = parent.frame (), event.quoted = FALSE, handler.env = parent.frame (), handler.quoted = FALSE, метка = NULL, приостановлено = FALSE, приоритет = 0, домен = getDefaultReactiveDomain (), autoDestroy = TRUE, ignoreNULL = TRUE, ignoreInit = FALSE, один раз = FALSE)

включая ignoreNULL, который по умолчанию установлен на TRUE, просто измените его на FALSE

  observeEvent(input$select, {
    print(input$select)
  },ignoreNULL  = F)
0 голосов
/ 19 октября 2018

Вы можете использовать Наблюдать вместо Наблюдения за событиями.

library(shiny)

ui <- fluidPage(

  selectizeInput(inputId='select',
                 label='Select something',
                 multiple=TRUE,
                 choices=letters[1:3])
)

server <- function(input, output){

  observe({
    print(input$select)
  })
}

shinyApp(ui=ui, server=server)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...