我正在从Shiny应用程序的服务器创建侧边栏菜单,但是服务器生成的菜单的格式与UI中创建的菜单不匹配。
在将div()分配给菜单后,我尝试了一些Shinyjs隐藏/显示功能,该菜单也以奇怪的,不匹配的格式结束。我认为renderMenu可能是更好的方法。我不希望使用CSS进行“黑客攻击”,但会有所帮助。
这是一个有效的脚本:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = 'Header'),
dashboardSidebar(
sidebarMenu(
menuItem('First Menu', tabName = 'first_menu'),
menuSubItem('sub1', tabName = 'sub_1'),
menuSubItem('sub2', tabName = 'sub_2'),
uiOutput('server_menu')
)
),
dashboardBody()
)
server <- function(input, output) {
output$server_menu <- renderMenu({
list(
menuItem('Second Menu', tabName = 'second_menu'),
menuSubItem('sub3', tabName = 'sub_3'),
menuSubItem('sub4', tabName = 'sub_4')
)
})
}
shinyApp(ui, server)
哪个会产生以下结果:
任何有关如何解决此问题的建议都非常棒!干杯
答案 0 :(得分:1)
使用/root/theia_rust_app/node_modules/.bin/theia build
(node:215) DeprecationWarning: Tapable.apply is deprecated. Call apply on the plugin directly instead
Hash: fa3940c5f903c29cc7b7
Version: webpack 4.41.0
Time: 71483ms
Built at: 10/01/2019 10:39:48 PM
17 assets
Entrypoint main = bundle.js bundle.js.map
[75] (webpack)/buildin/global.js 472 bytes {0} [built]
[150] ./node_modules/jsonc-parser/lib/esm/main.js + 4 modules 56.8 KiB {0} [built]
| 5 modules
[531] (webpack)/buildin/module.js 497 bytes {0} [built]
[841] ./node_modules/react-virtualized/dist/es/index.js + 67 modules 325 KiB {0} [built]
| 68 modules
[847] ./src-gen/frontend/index.js 6.56 KiB {0} [built]
[1015] ./node_modules/@theia/core/src/common/keyboard/layouts sync ^\.\/.*\.json$ 1.39 KiB {0} [built]
[1220] ./node_modules/moment/locale sync ^\.\/.*$ 3 KiB {0} [optional] [built]
[1315] ./node_modules/vscode-textmate/release sync 160 bytes {0} [built]
+ 1962 hidden modules
WARNING in ./node_modules/vscode-textmate/release/main.js 23:15-27
Critical dependency: the request of a dependency is an expression
@ ./node_modules/@theia/monaco/lib/browser/textmate/monaco-textmate-service.js
@ ./node_modules/@theia/monaco/lib/browser/textmate/index.js
@ ./node_modules/@theia/textmate-grammars/lib/browser/js.js
@ ./node_modules/@theia/textmate-grammars/lib/browser/textmate-grammars-frontend-module.js
@ ./src-gen/frontend/index.js
WARNING in ./node_modules/vscode-textmate/release/main.js
Module Warning (from ./node_modules/source-map-loader/index.js):
(Emitted value instead of an instance of Error) Cannot find SourceMap 'main.js.map': Error: Can't resolve './main.js.map' in '/root/theia_rust_app/node_modules/vscode-textmate/release'
@ ./node_modules/@theia/monaco/lib/browser/textmate/monaco-textmate-service.js 73:24-50
@ ./node_modules/@theia/monaco/lib/browser/textmate/index.js
@ ./node_modules/@theia/textmate-grammars/lib/browser/js.js
@ ./node_modules/@theia/textmate-grammars/lib/browser/textmate-grammars-frontend-module.js
@ ./src-gen/frontend/index.js
ERROR in ./src-gen/frontend/index.js
Module not found: Error: Can't resolve '@theia/cpp-debug/lib/browser/cpp-debug-frontend-module' in '/root/theia_rust_app/src-gen/frontend'
@ ./src-gen/frontend/index.js 57:47-112
Child worker:
2 assets
Entrypoint main = worker-ext.e08cdfdcb830fe7e8493.js worker-ext.e08cdfdcb830fe7e8493.js.map
[17] (webpack)/buildin/global.js 472 bytes {0} [built]
[167] (webpack)/buildin/module.js 497 bytes {0} [built]
+ 181 hidden modules
Error: webpack exited with an unexpected code: 2.
at ChildProcess.<anonymous> (/root/theia_rust_app/node_modules/@theia/application-manager/lib/application-process.js:66:28)
at ChildProcess.emit (events.js:198:13)
at maybeClose (internal/child_process.js:982:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
error Command failed with exit code 1.
代替uiOutput
。另外,您的menuItemOutput
和menuItem
的层次结构似乎不正确。 menuSubItem
应该是menuSubItem
的子代
menuItem