R语言DT包datatable的searchPanes设置cascadePanes=TRUE不生效问题
问题排查及修正方案
你代码中配置级联筛选的参数位置和嵌套结构有误,调整后即可生效:
核心错误点
cascadePanes是SearchPanes的全局配置参数,不应放在columnDefs列定义节点下- 原有配置多嵌套了一层无意义的列表,导致参数无法被正确识别
修正后完整代码
library(data.table) library(DT) myData <- data.table(c1 = sample(letters[1:10], 100, replace=TRUE), c2 = runif(100), c3 = sample(letters[5:20], 100, replace=TRUE), c4 = sample(letters[15:20], 100, replace=TRUE), c5 = sample(letters[10:20], 100, replace=TRUE), c6 = sample(letters[1:20], 100, replace=TRUE), c7 = sample(letters[1:20], 100, replace=TRUE)) datatable(myData, rownames = FALSE, extensions = c("SearchPanes", "Select", "Buttons"), filter="top", options = list( searchHighlight = TRUE, search = list(regex = TRUE, caseInsensitive = TRUE), # 全局配置SearchPanes级联筛选,和按钮内配置二选一即可生效 searchPanes = list(cascadePanes = TRUE), language =list(url='https://cdn.datatables.net/plug-ins/1.10.25/i18n/Danish.json', searchPanes = list(collapse = "Udvælg Rækker")), buttons = list( list(extend ="searchPanes", config = list(cascadePanes = TRUE)), list(extend = "csv", text="Download tabellen") ), dom = "lfBtipr", pageLength = 25 ) )
验证方式
打开SearchPanes面板后,任选某一列的筛选值,其余列的可选值会自动过滤为仅匹配当前筛选结果的选项,即为级联筛选生效。
内容的提问来源于stack exchange,提问作者stilstuk
相关产品推荐
相关产品推荐

