当menuItem中使用shiny和shinydashboard的更多功能时,tabItem无法显示内容

2023-11-29

我正在学习闪亮和闪亮的仪表板。我的代码是这样的:

library(shiny)
library(shinydashboard)
library(DT)
library(RODBC)
library(stringr)
library(dplyr)
ch<-odbcConnect('B1P HANA',uid='fchen4',pwd='XUEqin0312')
sidebar <- dashboardSidebar(
  sidebarMenu(
    menuItem("Query1",tabName="Query1",icon=icon("table"),
         numericInput('Start1','Start Date',19800312,min=20170101,max=20200101),
         numericInput('End1','End Date',19800312,min=20170101,max=20200101),
         textInput('Office1','Office ID','0'),
         submitButton("Submit")),
    menuItem("Query2",tabName="Query2",icon=icon("table"),
         numericInput('Start2','Start Date',20180101,min=20170101,max=20200101),
         numericInput('End2','End Date',20180101,min=20170101,max=20200101),
         textInput('Office2','Office ID','0'),
         submitButton("Submit"))
  )
)
body <- dashboardBody(
  tabItems(
    tabItem(tabName="Query1",h2("Dashboard tab content")),
    tabItem(tabName = "Query2",h2("Widgets tab content"))
  )
)
ui <- dashboardPage(
  dashboardHeader(title = 'LOSS PREVENTION'),
  sidebar,
  body
)
server <- function(input, output) {
}
shinyApp(ui, server)

仪表板如下所示:

enter image description here

您可以看到,当我将一些输入框放在侧边栏中时,文本无法显示在主要部分中。

但是,当我的代码是这样的时:

library(shiny)
library(shinydashboard)
library(DT)
library(RODBC)
library(stringr)
library(dplyr)
ch<-odbcConnect('B1P HANA',uid='fchen4',pwd='XUEqin0312')
sidebar <- dashboardSidebar(
  sidebarMenu(
    menuItem("Query1",tabName="Query1",icon=icon("table")),
    menuItem("Query2",tabName="Query2",icon=icon("table"))
  )
)
body <- dashboardBody(
  tabItems(
    tabItem(tabName="Query1",h2("Dashboard tab content")),
    tabItem(tabName = "Query2",h2("Widgets tab content"))
  )
)
ui <- dashboardPage(
  dashboardHeader(title = 'LOSS PREVENTION'),
  sidebar,
  body
)
server <- function(input, output) {
}
shinyApp(ui, server)

那么结果是这样的:

enter image description here

您可以看到现在侧栏中没有输入,然后主栏现在有文本。这太奇怪了。


这实际上是一件很烦人的事情shinydashboard现在。提供了一些解决方案here作者:Winston Chang,但我认为最好的解决方案是this one:

基本上发生的情况是,当您将其他输入元素插入到menuItem,它失去了data-toggle and data-value属性。因为这,tabItems in dashboardBody无法链接到menuItems 了,因此应用程序无法显示正文中的内容。

您可以使用自定义函数(convertMenuItem) 设置data-toggle and data-value手动以便menuItems and tabItems 再次链接。

Code:

library(shiny)
library(shinydashboard)

convertMenuItem <- function(mi,tabName) {
  mi$children[[1]]$attribs['data-toggle']="tab"
  mi$children[[1]]$attribs['data-value'] = tabName
  mi
}

sidebar <- dashboardSidebar(
  sidebarMenu(
    convertMenuItem(menuItem("Query1",tabName="Query1",icon=icon("table"),
             numericInput('Start1','Start Date',19800312,min=20170101,max=20200101),
             numericInput('End1','End Date',19800312,min=20170101,max=20200101),
             textInput('Office1','Office ID','0'),
             submitButton("Submit")), tabName = "Query1"),
    convertMenuItem(menuItem("Query2",tabName="Query2",icon=icon("table"),
             numericInput('Start2','Start Date',20180101,min=20170101,max=20200101),
             numericInput('End2','End Date',20180101,min=20170101,max=20200101),
             textInput('Office2','Office ID','0'),
             submitButton("Submit")), tabName = "Query2")
  )
)
body <- dashboardBody(
  tabItems(
    tabItem(tabName="Query1", h2("Dashboard tab content")),
    tabItem(tabName = "Query2", h2("Widgets tab content"))
  )
)
ui <- dashboardPage(
  dashboardHeader(title = 'LOSS PREVENTION'),
  sidebar,
  body
)

server <- function(input, output) {}
shinyApp(ui, server)

Result

Result

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当menuItem中使用shiny和shinydashboard的更多功能时,tabItem无法显示内容 的相关文章

  • 使用 R 连接到 SSAS 多维数据集

    是否可以使用 R 查询 SQL Server Analysis Services 多维数据集 我在不同的外部服务器上有这个多维数据集 并且我正在我的计算机上工作 但我使用我的域帐户在服务器上拥有管理员权限 简而言之 我想创建一个分析服务解决
  • R: Knit 给出 SQL-chunk 错误

    我想编织 R markdown 的输出 其中包括几个 SQL 块 但是 如果我开始编织 就会收到错误消息 Line 65 Error in eval expr envir enclos object pp dataset not found
  • R:将多列转换为单列[重复]

    这个问题在这里已经有答案了 我有一个看起来像这样的数据框 ID week1 t week1 a week2 t week2 a 1 12 22 17 4 1 15 32 18 5 1 24 12 29 6 2 45 11
  • 有没有办法“source()”并在错误后继续?

    我有一个大型 R 脚本 其中包含 142 个小部分 如果某一部分因错误而失败 我希望脚本继续而不是停止 这些部分不一定相互依赖 但有些部分确实相互依赖 如果中间的一个失败了也没关系 我不想在这个脚本中加入try 来电 而且我不想将文件分成许
  • 将 Fig.cap 设置为 options$label

    如何以编程方式在knitr hook 中设置图形标题 如果没有明确定义 我想将图形标题设置为块标签 我已经阅读了knitr文档options http yihui name knitr options options http yihui
  • 如何从数据框列表中提取某些列

    我有一个数据框列表 l 这些数据框本身就是二维矩阵 对于我的工作 我需要创建另一个列表 其中的数据帧是原始列表中数据帧的子集 例如 列表l1有两个数据帧D1和D2 分别有10和12个不同的数据列 现在我想创建一个新列表 l2 它也有两个数据
  • R mapbox / 带有动画和 shapefile 的绘图

    我正在制作一个动画 显示地图上绘制的空间数据 并带有基于日期的动画滑块 除此之外 我想绘制一个随时间变化的形状文件 我的动画在没有 shapefile 的情况下也能正常工作 绘制标记和形状文件不会显示形状文件 似乎是两者之间的某种脱节add
  • 从 Rcpp C++ 函数获取 r 函数参数

    我在 R 端定义了一个函数 如下所示 foo lt function arg1 arg2 arg3 以及使用 Rcpp 的 C 函数 该函数获取全局环境并实例化 R 函数以从该函数执行它 这是代码 namespace Rcpp void m
  • R:在组上应用函数

    我希望将函数应用于数据框 然后将该函数的结果存储在数据框中的新列中 这是我的数据框 tradeData 的示例 Login AL Diff a 1 0 a 1 0 a 1 0 a 0 1 a 0 0 a 0 0 a 0 0 a 1 1 a
  • data.frame 不会破坏列名

    有没有办法使用 data frame 而不破坏列名 我有以下结构 Canon PowerShot 1 9 997803e 01 9 997318e 01 3 327920e 01 3 327920e 01 9 988220e 01 6 4
  • 如何在R中制作渐变颜色填充时间序列图

    How to 填充区域 sp 线下方和上方渐变色 这个例子是在 Inkscape 中绘制的 但我需要垂直渐变 不是水平的 间隔从zero to positive 来自white to red 间隔从zero to negative 来自wh
  • 如何识别 R 中行的镜像重复项

    在下面的SO帖子中如何识别 R 中行的部分重复项 https stackoverflow com questions 54661129 how to identify partial duplicates of rows in r 5466
  • 每次向量元素变化时在 R 中分割向量

    每次元素值发生变化时 我都需要分割重复元素组的向量 例如 test vector lt c string1 string1 string1 string2 string2 string1 string1 string3 必须成为 1 1 s
  • 在 ggplot2 facet_wrap 标签上使用半填充的正方形

    我正在尝试使用标签上的一半 以及四分之一填充 方块来生成 ggplot2 图表 但 Mac 上的 ggplot2 似乎不支持某些符号 例如 当我输入 print u25E9 它显示一个半黑的正方形 但是当我尝试在 ggplot 中使用它时
  • 在 r 中使用 reprex 包创建可重现的示例,其中正在读取本地文件

    我经常使用reprex reprex创建可重复的示例R代码以获得其他人的帮助以消除我的代码中的错误 通常 我使用数据集创建最小的示例 例如iris or mtcars而且效果很好 但我总是无法使用reprex任何时候我需要使用我的own数据
  • 关于使用outer()和用户定义函数的简单问题?

    gt fun1 lt function x y x y gt outer seq 1 5 length 5 seq 6 10 length 5 fun1 1 2 3 4 5 1 7 8 9 10 11 2 8 9 10 11 12 3 9
  • R ggplot2:stat_count() 不得与条形图中的 y 美学错误一起使用

    我在绘制条形图时遇到此错误 并且无法摆脱它 我已经尝试了 qplot 和 ggplot 但仍然出现相同的错误 以下是我的代码 library dplyr library ggplot2 Investigate data further to
  • 使用 BIC 准则运行逐步线性模型

    是否可以设置逐步线性模型来使用 BIC 标准而不是 AIC 我一直在尝试这个 但它仍然使用 AIC 值而不是 BIC 来计算每个步骤 null lm data 1 1 full lm data 1 age bmi gender group
  • ShinyApp:由对等方重置连接

    我之前构建的闪亮应用程序在我的旧笔记本电脑上运行良好 最近我买了一台装有Windows10的新笔记本电脑 设置完所有内容后 我尝试运行该应用程序 但浏览器立即打开并关闭 并出现错误 正在收听http 127 0 0 1 5004 http
  • R 中的网页抓取表

    完全菜鸟试图抓取此页面上的表格 我所能做的最远的是加载 rvest 包 我的问题是 我找不到合适的元素 我通过检查器尝试的元素是 table w782 comm lsjz 但它返回长度为0的列表 并在 html table 之后执行 gt

随机推荐

  • 使用规则插入辅助表自动增量序列

    要自动在第二个表中添加列以通过唯一索引将其绑定到第一个表 我有如下规则 CREATE OR REPLACE RULE auto insert AS ON INSERT TO user DO ALSO INSERT INTO lastlogi
  • 如何在 R Shiny 中实现清理例程?

    例如 我的闪亮应用程序可能会打开数据库连接 server R db lt dbConnect SQLite DB PATH shinyServer things involving db 现在 如何确保连接db已正确关闭 通过dbDisco
  • 使用 python 渲染 Latex 文本

    我正在尝试用 python 渲染 Latex 文本 这就是我试图做的 import matplotlib pyplot as plt txte r The emph characteristic polynomial chi lambda
  • 使用 Android Q 拒绝 AndroidAudioConverter 权限

    Android Q 引入了一些有关文件夹 文件权限的重大更改 在 Android 上使用转换器时出现以下错误 java io IOException 无法运行程序 data user 0 com ltcfastpay timecard de
  • 使用请求的响应时间极长

    描述 我有一个运行 Python 应用程序的 AWS ec2 实例 ubuntu 16 其中我调用了一些 Facebook Account Kit API 和 Google Play Store API 它们都工作得很好 直到我两周前重新启
  • 如何从表格单元格(td)中获取相应的表格标题(th)?

    给定下表 我如何获取每个 td 元素对应的表头 table thead tr th Name th th Address th tr thead tbody tr td Bob td td 1 High Street td tr tbody
  • Golang 中的类型转换

    我正在阅读以下文章 https www ribice ba golang enums 代码示例之一中定义了一个函数 func lt LeaveType UnmarshalJSON b byte error Define a secondar
  • 用于文本选择控件的自定义浮动工具栏

    我想自定义选择文本时出现的浮动工具栏 这是标准浮动工具栏的示例 你知道我如何定制它 比如添加粗体 斜体 吗 有外部图书馆吗 Monospace 应用程序正是我想要的 您将向清单中的活动添加一个意图过滤器
  • Flask Postgresql 数组不会永久更新

    我正在开发一个使用 Flask 和 PostgreSQL 数据库以及 SQLAlchemy 的项目 I have Group具有以下列表的对象User属于该组成员的 ID 由于某种原因 当我尝试将 ID 添加到组时 它无法正确保存 如果我尝
  • 谷歌折线图 X 轴上有双标签

    我正在研究谷歌折线图 我想在 x 轴上加双标签 日期明智的过程 我可以使用下面的代码绘制没有日期的图表 但无法填充日期 div style width 100 height 1 div
  • 错误:getaddrinfo ENOTFOUNDregistry.npmjs.orgregistry.npmjs.org:443

    我正在公司网络上工作 正在尝试安装npm 但我一次又一次地收到此错误 npm install npm ERR Windows NT 6 1 7601 npm ERR argv C Program Files nodejs node exe
  • 在 Swift 中声明自引用指针[重复]

    这个问题在这里已经有答案了 这段 Obj C 代码在 swift 中的等价物是什么 我猜测 CMutableVoidPointer 的一些事情 static void CapturingStillImageContext Capturing
  • Nhibernate 通过用户定义的函数输出进行过滤

    我对 NHibernate 相当陌生 到目前为止一切都进展顺利 但我遇到了一个问题 我不太确定如何解决 基本上我需要按用户定义函数的输出进行过滤 如果我用 SQL 编写 我会这样写 declare Latitude decimal decl
  • Coldfusion 8 同时执行 CFIf 和 CFElse 语句

    我正在为电子商务网站制作用户注册应用程序 但我遇到了一个非常奇怪的问题 当我运行这段代码时
  • C++ 中的临时对象确实是 const 吗?

    我一直认为C 中的临时对象会被编译器自动视为const 但最近我经历了以下代码示例 function returning object some non const method 对 C 编译器有效 这让我想知道 C 中的临时对象确实是 c
  • PHP 匿名函数:未定义的变量

    我有这两个 WordPress 功能 wpb set post views function postID count key wpb post views count count get post meta postID count ke
  • Codeigniter 与本地主机 (XAMPP) 中的路径有关的问题

    无论如何 我的代码点火器安装中的索引页面 又名 homepage php 都工作正常 The problem lies with using subdirectories to store other pages currently its
  • android 中网页视图内容闪烁?

    我在用着this用于水平滑动的 lib 检查下面的代码 滑动功能工作正常 但当我直接滑动时 不会在网页视图上显示内容 显示下面的一些图片以了解更多详细信息 在上图之后 当我滑动时 它效果很好 但是当我们想直接进入下一张幻灯片时 就会面临如下
  • 始终显示 AVPlayer 控件

    我有一个 AVPlayerViewController 里面有一个 AVPlayer 我需要的是播放器的控件 播放 暂停 时间滑块 永远不会隐藏 现在 在播放视频大约 4 秒后 它们就会隐藏起来 您必须点击屏幕才能再次显示它们 我无法找到解
  • 当menuItem中使用shiny和shinydashboard的更多功能时,tabItem无法显示内容

    我正在学习闪亮和闪亮的仪表板 我的代码是这样的 library shiny library shinydashboard library DT library RODBC library stringr library dplyr ch l