R Shiny 助手的observe_helpers
函数看不到通过像htmlOutput
这样的输出函数传递的帮助程序,这是不幸的,因为它是一个有用的小包。以下是 MWE。
用户界面
library(shiny)
library(shinyhelper)
ui = fluidPage(
sidebarLayout(
sidebarPanel(
selectInput("var",
label = "var",
choices = c("A", "B", "C", "D")) %>%
helper(icon="question",
type="markdown",
content="herp")),
mainPanel(
htmlOutput("selected"))
))
服务器
server = function(input, output,session) {
observeEvent(input$var, {
if(input$var=="B"){
output$selected <- renderUI({
fluidRow(
column(4,textInput(inputId="derp",
label="derp") %>%
helper(icon="question",
type="markdown",
content="flerp")),
column(8))})
}})
observeEvent(input$derp, {print(input$derp)})
observe_helpers()
}
runApp(list(ui = ui, server = server))
我知道 helper
在通过管道连接到 htmlOutput
时可以工作,但是当我们想要在包含多个小部件的服务器中渲染 UI 时,这没有帮助他们自己的 helper 。
任何有关如何解决此问题的建议将不胜感激。
最佳答案
您现在可以更新到shinyhelper v0.3.1,这应该可以解决此问题。
关于Rshinyhelper 因 htmlOutput 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52175502/