我在R上做了一个Shiny App,我想改变一个过滤器取决于“Regiones”,这意味着,我有一个tabsetPanel进入一个TabPanel,
如果我点击“Antioquia”我的服务器.R应该是
过滤器(Base,Base ==“Antioquia”)
但是,如果我点击“波哥大”,它应该改为
过滤器(Base,Base ==“Bogotá”)
等等......我怎么能这样做?
答案 0 :(得分:1)
任务是在tabpanel更改时自动过滤数据框。这比人们想象的更难弄清楚。
为了做到这一点,你必须为id
定义tabsetPanel
,否则就没有任何“反应”。由于通常不需要它,大多数示例都没有id
字段,因此很难偶然发现。例如,?tabsetPanel
下的帮助中没有记录它。
这是一个可以满足您需求的最小示例。
tabsetPanel
,其中包含两个tabPanel
s tabsetPanel
有一个名为id
的{{1}}。 tabx
的数据框,其中包含两种行,“A”和“B”basedf
变量中的元素。reactiveValues
语句是必需的,否则内置的被动缓存将导致它只被触发一次。)input$tabx
并打印出剩余的内容。代码:
basedf