用于显示 Table 的闪亮模块
Shiny Module for Displaying a Table
Shiny入门,我尝试学习如何使用Shiny Module设计模式。作为最简单的示例,我想在没有任何进一步交互的情况下显示数据集。
我希望在 navbarPage
的 tabPanel
中组织 UI。每个面板都是相互独立的,(除了所有面板都使用一个全局数据库连接对象,但这现在不困扰我)。
这是 DT GUI 元素的代码:
library(shiny)
library(DT)
tabTable <- function(id) {
ns <- shiny::NS(id)
tabPanel(
"Table",
shiny::dataTableOutput(ns("table"))
)
}
这是服务器逻辑。我想让它绘制数据 table.
srvTable <- function(id, dat) shiny::moduleServer(id,
function(input, output, session) {
output$table <- shiny::renderDataTable({DT::datatable(dat)})
}
)
现在这里是 ui 和服务器的定义:
ui <- shiny::navbarPage(title="Test",
tabTable(id="iris"),
shiny::tabPanel(title="Scatter")
)
server <- function(input, output, session) {
srvTable(id="iris", dat=iris)
session$onSessionEnded(stopApp)
}
shiny::shinyApp(ui, server)
此应用启动,显示导航栏,但不显示数据集。有什么提示我把命令放在哪里吗?对我来说,问题是没有明显的条件需要服务器模块做出反应。这种情况怎么办?
试试这个
library(shiny)
library(DT)
tabTable <- function(id) {
ns <- shiny::NS(id)
tabPanel(
"Table",
DTOutput(ns("table"))
)
}
srvTable <- function(id, dat) { shiny::moduleServer(id,
function(input, output, session) {
output$table <- renderDT({DT::datatable(dat)})
}
)}
ui <- shiny::navbarPage(title="Test",
tabTable(id="iris"),
shiny::tabPanel(title="Scatter")
)
server <- function(input, output, session) {
srvTable(id="iris", dat=iris)
session$onSessionEnded(stopApp)
}
shiny::shinyApp(ui, server)
Shiny入门,我尝试学习如何使用Shiny Module设计模式。作为最简单的示例,我想在没有任何进一步交互的情况下显示数据集。
我希望在 navbarPage
的 tabPanel
中组织 UI。每个面板都是相互独立的,(除了所有面板都使用一个全局数据库连接对象,但这现在不困扰我)。
这是 DT GUI 元素的代码:
library(shiny)
library(DT)
tabTable <- function(id) {
ns <- shiny::NS(id)
tabPanel(
"Table",
shiny::dataTableOutput(ns("table"))
)
}
这是服务器逻辑。我想让它绘制数据 table.
srvTable <- function(id, dat) shiny::moduleServer(id,
function(input, output, session) {
output$table <- shiny::renderDataTable({DT::datatable(dat)})
}
)
现在这里是 ui 和服务器的定义:
ui <- shiny::navbarPage(title="Test",
tabTable(id="iris"),
shiny::tabPanel(title="Scatter")
)
server <- function(input, output, session) {
srvTable(id="iris", dat=iris)
session$onSessionEnded(stopApp)
}
shiny::shinyApp(ui, server)
此应用启动,显示导航栏,但不显示数据集。有什么提示我把命令放在哪里吗?对我来说,问题是没有明显的条件需要服务器模块做出反应。这种情况怎么办?
试试这个
library(shiny)
library(DT)
tabTable <- function(id) {
ns <- shiny::NS(id)
tabPanel(
"Table",
DTOutput(ns("table"))
)
}
srvTable <- function(id, dat) { shiny::moduleServer(id,
function(input, output, session) {
output$table <- renderDT({DT::datatable(dat)})
}
)}
ui <- shiny::navbarPage(title="Test",
tabTable(id="iris"),
shiny::tabPanel(title="Scatter")
)
server <- function(input, output, session) {
srvTable(id="iris", dat=iris)
session$onSessionEnded(stopApp)
}
shiny::shinyApp(ui, server)