如何在 R 闪亮的 DataTable Javascript 中使用“String1.includes(String2)”?

问题描述 投票:0回答:1

我正在尝试创建一个搜索窗格,它允许我根据 DataTable 列中的字符串值过滤出行,具体来说,该值是否包含给定字符串,类似于 this (“包括(爱丁堡)”中间搜索窗格的一部分),就在一个闪亮的应用程序中,我似乎不知道如何让它工作。
我已经有一个成功工作的搜索窗格,用于按值过滤数字列,第二个搜索窗格设置相同,只是具有不同的返回子句,但只显示搜索窗格的空窗口。

代码如下:

output$completeTable <- DT::renderDataTable ({
   datatable(  
        complete_Table, 
        options = list(
            dom = "Plfrtip",
            pageLength = 10, 
            columnDefs = list(  
                list(
                    searchPanes = list (
                        show = TRUE,
                        options = list(
                            list(
                                label = "big",
                                value = JS("function(rowData, rowIdx) { return (rowData[8] > 10000); }"
                                )
                            ),
                            list(
                                label = "small",
                                value = JS("function(rowData, rowIdx) { return (rowData[8] < 10000); }"
                                )
                            )
                        )
                    ),
                    targets = 8 
                ),
                list(
                    searchPanes = list (
                        show = TRUE,
                        options = list(
                            list(
                                label = "All",
                                value = JS("function(rowData, rowIdx) { return rowData[3].includes('All'); }"
                                )
                            ),
                            list(
                                label = "Media",
                                value = JS("function(rowData, rowIdx) { return rowData[3].includes('Media'); }"
                                )
                            )
                        )
                    ), 
                    targets = 3
                ),
                list(searchPanes = list(show = FALSE), targets = c(1,2,4:7,9:11) )
            ),
        ),              
        extensions = c('Select', 'SearchPanes')
    )
}, server = FALSE)

正如我所说,第一个搜索窗格本身可以正常工作,但是一旦我添加第二个搜索窗格,第一个搜索窗格就不再可见/存在,而第二个搜索窗格中也没有任何数据或标签。我假设问题是我必须以不同的方式包含搜索词(“媒体”和“全部”),但我不知道如何实现。

javascript r shiny dt
1个回答
0
投票

好的,找到了this答案,虽然它不完全是我想要的,但它主要解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.