gpt4 book ai didi

javascript - R Shiny 数据表: prevent deselection of an already selected row when you click on it again

转载 作者:行者123 更新时间:2023-12-01 16:18:54 25 4
gpt4 key购买 nike

R(版本 3.4.1)
我正在使用 Shiny (版本 1.0.5)中的 DT(版本 0.4)包,并且需要在用户再次单击它时防止取消选择已选择的行。例如,在下图中,如果用户再次单击第 3 行,则不应取消选择。但是,如果用户选择了一个新行,则该新行将被选中,而之前的行将被取消选择。

I guess what I need is for datatable to completely ignore a click-event on an already selected row.



If user clicks on row 3 again it should not get deselected but if he clicks on a new row then that new row should get selected while deselecting the old one

我尝试使用 shinyjs::onclick如下所示,但并不理想,因为它似乎“取消选择并重新选择”选定的行(蓝色突出显示消失并在再次单击时重新出现)而不是 防止取消选择 .
library(shiny)
library(DT)
library(shinyjs)

shinyApp(
ui <- shinyUI(
fluidPage(
shinyjs::useShinyjs(),
DTOutput("test")
)
),
server <- shinyServer(function(input, output, session) {

output$test <- renderDT({
datatable(head(iris), selection = 'single')
})
shinyjs::onclick("test",
selectRows(dataTableProxy("test"), selected = input$test_rows_selected)
)
})
)

我想知道是否有一种简单的方法可以做到这一点。谢谢!

最佳答案

尝试使用 pointer-events: none在 CSS 中:

table.dataTable tbody tr.selected {
pointer-events: none
}

唯一的限制是它会阻止当前选定行上的整个悬停/单击事件,因此您不能在具有可悬停/可单击 HTML 内容的列上使用它。

我希望它有帮助!

关于javascript - R Shiny 数据表: prevent deselection of an already selected row when you click on it again,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52086088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com