我可以将reactiveValues传递给conditionalPanel的条件吗?如果是这样,怎么样?
这是我在conditionalPanel ui.R中尝试过的:
conditionalPanel(condition = "values.cond == 0", etc.
我values$cond
在server.R中定义的地方:
values <- reactiveValues(cond = 0)
我也尝试过替代方案"values.cond == true"
,但没有成功.
library("shiny") runGist("https://gist.github.com/anonymous/8281021")
看代码:
https://gist.github.com/anonymous/8281021
正如@jdharrison指出的那样,你有问题,你values
在服务器端有反应或任何其他数据,条件面板是JS条件+客户端的一些HTML.因此,如果要根据在服务器端计算的某些值动态更新JS条件,则需要将数据从服务器获取到客户端.我认为你可以做的是使用一个仍然没有文档的闪亮功能来将自定义数据从服务器传递到客户端.我写了一篇关于如何做到这一点的博客文章:http://ryouready.wordpress.com/2013/11/20/sending-data-from-client-to-server-and-back-using-shiny/
我想你可以使用这种方法动态更新JS面板条件.您需要编写一个JS函数,在传递数据后执行此操作.所以这归结为用你想要的值替换输出的data-display-if
属性conditionalPanel
.
另一个想法:如果您的UI强烈依赖于服务器端的计算,您可能需要考虑动态创建(侧边栏)内容renderUI
.
编辑:顺便说一句,这就是@jdharrison在他的第二条评论中提到的.