在我的Shiny应用程序中,我想更改tabItem,然后通过在actionLink上单击一次来过滤带有关键字的数据表(DT)。
我可以更改tabItem,但是单击actionLink时无法自动过滤数据表。
这是我要编码的过程:
(i)选中复选框输入以显示地图 (ii)单击actionLink更改tabItem (iii)使用关键字搜索DT以显示过滤的行(关键字取决于所选的checkboxInput)
切换到“ mc”标签后,我只能通过取消选中并重新选中checkboxInput来按关键字进行过滤。
对于任何如何通过单击动作链接使以上最后两个步骤有效的建议,我将不胜感激。
这是我到目前为止的方法:
dashboardSidebar(
sidebarMenu(
id="sidebar1",
tabItems(
tabItem(tabName = "gisd",
tags$div(id="meta",
fluidRow(
column(2,
actionLink("meta", "Meta")
tabItem(tabName = "mc",
server <- function(input, output, session) {
output$mytable = DT::renderDataTable({
mcat
})
observe({
if(input$meta == TRUE){
updateTabItems(session, inputId = "sidebar1", selected = "mc")
delay(500, if(input$pow_sl == TRUE){ # pow_sl this is ID of checkboxInput
mytable_proxy = DT::dataTableProxy('mytable')
keyw <- "plant"
updateSearch(mytable_proxy, keywords = list(global = keyw, columns = NULL))
} else {
mytable_proxy = DT::dataTableProxy('mytable')
updateSearch(mytable_proxy, keywords = list(global = "", columns = NULL))
})
}
})
}