Как я могу удалить столбец переключателей из реагирующей таблицы в моем приложении Shiny, но сохранив аргумент selection = "single"
?
Мой репрекс основан на этом решении скрыть флажок «все/нет» с помощью selection = "multiple"
, я надеялся, что смогу сделать что-то подобное, чтобы удалить переключатели.
app.R
:
library(shiny)
library(reactable)
ui <- fluidPage(
includeCSS("hide_radio.css"),
titlePanel("Hide radio buttons"),
mainPanel(reactableOutput("table"))
)
server <- function(input, output) {
output$table <- renderReactable({
reactable(
mtcars,
selection = "single",
columns = list(
.selection = colDef(
headerStyle = list(pointerEvents = "none")
)
),
theme = reactableTheme(
headerStyle = list("& input[type='checkbox']" = list(display = "none"))
)
)
})
}
shinyApp(ui = ui, server = server)
hide_radio.css
:
.hide-checkbox {
pointer-events: none;
}
.hide-checkbox input[type='checkbox'] {
display: none;
}
Изменить. Если вы хотите скрыть весь столбец (а не только элементы), есть гораздо более простой способ:
library(shiny)
library(reactable)
ui <- fluidPage(
titlePanel("Hide radio buttons"),
mainPanel(reactableOutput("table"))
)
server <- function(input, output) {
output$table <- renderReactable({
reactable(
mtcars,
selection = "single",
columns = list(
# mpg = colDef(show = FALSE),
.selection = colDef(show = FALSE)
)
)
})
}
shinyApp(ui = ui, server = server)
Однако эту процедуру необходимо адаптировать после обновления базовой библиотеки реагирующих таблиц в пакете R:
Показ свойств столбца устарел. Используйте initialstate.hiddenColumns вместо.
Проверить: https://github.com/tannerlinsley/react-table/issues/1804
Первоначальный ответ: Пожалуйста, проверьте следующее:
library(shiny)
library(reactable)
ui <- fluidPage(
tags$head(
tags$style(
HTML("
.hide-checkbox {
pointer-events: none;
}
.hide-checkbox input[type=checkbox], input[type=radio] {
display: none !important;
}
")
)
),
titlePanel("Hide radio buttons"),
mainPanel(reactableOutput("table"))
)
server <- function(input, output) {
output$table <- renderReactable({
reactable(
mtcars,
selection = "single",
columns = list(
.selection = colDef(
headerClass = "hide-checkbox"
)
)
)
})
}
shinyApp(ui = ui, server = server)
Это потрясающе! Можно ли также удалить пробел?