0

Shiny アプリの Reactable テーブルから all/none チェックボックスを削除したいと考えています。@Abdessabour Mtk がここで解決策を提供しています。

ただし、チェックボックスが実際に削除されると、ヘッダー行が左にシフトし、列の左揃えが影響を受けます。

チェックボックスを非表示にして無効にすることで、列のずれに悩まされることはありませんか? また、ヘッダーのシェーディングは、チェックボックスの列の上のスペースに引き継がれる必要があります。

この R スクリプトは、ヘッダー行を網掛けし、チェックボックスを削除します。Sepal.Length 列と Sepal.Width 列のずれが確認できます。コメントアウトするとtags$head...、列が適切に配置されていることがわかります。

library(shiny)
library(reactable)

ui <- fluidPage(reactableOutput("table"),
                
                tags$head(tags$script(HTML('
                setTimeout(()=>{
                    document.querySelector(\'#table .rt-select-input[aria-label="Select all rows"]\').parentElement.parentElement.style.display="none";
                }, 200)
        ')))
)

server <- function(input, output, session) { 
  output$table <- renderReactable({ 
    reactable(iris,
              onClick = "select",
              selection = "multiple",
              columns = list(
                "Sepal.Length" = colDef(align = "left"),
                "Sepal.Width" = colDef(align = "left")
              ),
              defaultColDef = colDef(
                headerStyle = list(background = "brown"))
    )  
  })
  
}  
shinyApp(ui, server)  
4

2 に答える 2