Я наблюдал эту проблему только при создании dropdownButton на стороне сервера:
ui.R
library(shiny)
shinyUI(fluidPage(
uiOutput("uiWidget")
))
server.R
library(shiny)
shinyServer(function(input, output) {
output$uiWidget <- renderUI({
dropdownButton(
label = "Controls",
icon = icon("sliders"),
status = "primary",
circle = FALSE,
sliderInput(
inputId = "n",
label = "Number of observations",
min = 10, max = 100, value = 30
),
prettyToggle(
inputId = "na",
label_on = "NAs keeped",
label_off = "NAs removed",
icon_on = icon("check"),
icon_off = icon("remove")
))
})
})
Для приведенного выше кода, когда я щелкаю внутри sliderInput, всплывающее окно будет немедленно закрыто. Тем не менее, он прекрасно работает, когда я создал dropdownButton на ui.R.
Ниже приведен исходный код:
ui.R
library(shiny)
shinyUI(fluidPage(
dropdownButton(
label = "Controls",
icon = icon("sliders"),
status = "primary",
circle = FALSE,
sliderInput(
inputId = "n",
label = "Number of observations",
min = 10, max = 100, value = 30
),
prettyToggle(
inputId = "na",
label_on = "NAs keeped",
label_off = "NAs removed",
icon_on = icon("check"),
icon_off = icon("remove")
))
))
Какое объяснение этому? Я также заметил, что выпадающий список в пакете Блестящий виджет имеет согласованное поведение.