【发布时间】:2015-05-27 23:05:56
【问题描述】:
这可能是一个非常简单的问题,但我似乎无法让它发挥作用。
在我的ui.R 中,我有一个 ID 为“产品”的下拉列表,如何在ui.R 本身的另一个位置使用产品的选定值。
我尝试了 input.product、input.product.value 等...都没有成功
有什么帮助吗?
提供更多信息:我已尝试以下方法在我的网页上获取超链接:
server.R
output$sppath <- renderText({
link1<-paste("http://server2/projects/", input$product, "/collaboration/forms/collaborative%20documents.aspx?&SortField=Modified&SortDir=Desc",sep="")
return(link1) })
ui.R
fluidRow(h6("Sharepoint:", a("Collaboration", href=textOutput("sppath")))),
使用上面的代码,“协作”下的链接被创建为
http://shiny-server:8787/p/5620/%3Cdiv%20id=%22sppath%22%20class=%22shiny-text-output%22%3E%3C/div%3E
我做错了什么?为什么 sppath 无法正确解析?
当我尝试在 a 标记之外的 textOutput 时,它会显示完整路径。
【问题讨论】:
-
我不认为你可以。如果您的目标是动态更改 UI 元素,您应该在
ui.R中创建一个uiOutput。在server.R中,您定义了一个依赖于input$product的renderUI。详情请参阅?renderUI和?uiOutput。 -
我在 ui.R 中使用了 conditionalPanel,当 study 是 groupCheckbox 元素时,我可以有像“input.study.length>1”这样的条件,我希望有一些东西可以提取选定的值也来自 selectInput 元素
-
您是否有理由在输入后继续使用
.而不是$,即使在之前的评论之后并且我的回答另有说明?为什么坚持把这一切都放在 ui.r 中?它与将其放入 renderUI 中的代码完全相同,只是后者实际上可以工作。参考你新发布的代码,好像多了一个斜线input$product,"/","/,你试过verbatimTextOutput吗? -
我更正了上面的代码并删除了多余的
/,还尝试了verbatiTextOutput,但没有运气。注意:我在input之后使用.而不是$的唯一原因是,如果您需要针对它设置任何条件,那么您需要引用 ui.R 中的元素,我真的不不介意它是在 ui.R 还是 server.R 中完成,只要有办法做到这一点,我只是在探索将所有内容保留在 ui.R 本身中的可能性。