使用闪亮的模块和shinydashboard:shiny.tag错误 [英] Using shiny modules and shinydashboard: shiny.tag error
本文介绍了使用闪亮的模块和shinydashboard:shiny.tag错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正尝试在shinydashboard应用程序中创建和使用闪亮的模块,但我一直收到此错误:
Error in FUN(X[[i]], ...) : Expected an object with class 'shiny.tag'.
以下是尽可能精简的应用程序:
ui.r
library(shiny)
library(shinydashboard)
source("modules.r")
ui <- dashboardPage(
dashboardHeader(
title = "Shiny modules and shinydashboard"
),
dashboardSidebar(
sidebarMenu(
menuItem("PointA")
)
),
dashboardBody(
tabItems(
fooUI("myid")
)
)
)
服务器。r
server <- function(input, output) {
callModule(foo, "myid")
}
模块。r
fooUI <- function(id) {
ns <- NS(id)
tagList(
tabItem(
tabName = "PointA",
textOutput(ns("text"))
)
)
}
foo <- function(input, output, session){
output$text <- renderText(
rnorm(1)
)
}
我做错了什么?我让其他类型的模块在一个"普通"闪亮的应用程序中工作,然而,每当我尝试使用shinydashboard中的模块时,它都失败了。
我使用的是R
、shiny
和shinydashboard
的最新版本。这不是这里的问题。
推荐答案
shinydashboard
和tagList
如上所述here
您需要简单易用
ui <- dashboardPage(
dashboardHeader(
title = "Shiny modules and shinydashboard"
),
dashboardSidebar(
sidebarMenu(
menuItem("PointA",tabName = "PointA")
)
),
dashboardBody(
tags$div( fooUI("myid"), class = "tab-content" )
)
)
更新
您还需要menuItem
中的tabName
menuItem("PointA_",tabName = "PointA")
说明
如您所见
tabItems
function (...)
{
lapply(list(...), tagAssert, class = "tab-pane")
div(class = "tab-content", ...)
}
<environment: namespace:shinydashboard>
使用list
to...
,如果您已将列表作为参数,则无法工作。
tabItems1=function (...)
{
lapply(..., tagAssert, class = "tab-pane")
div(class = "tab-content", ...)
}
environment(tabItems1)=environment(tabItems)
然后您可以将tabItems1
与tagList
这篇关于使用闪亮的模块和shinydashboard:shiny.tag错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文