【发布时间】:2021-02-10 06:31:47
【问题描述】:
我希望用户单击一个按钮,然后调用 renderDataTable 函数
这就是我现在正在做的事情:
用户界面有这个:
ui <- fluidPage(
actionButton("tbl","Show Table"),
DT::dataTableOutput("t_all")
)
服务器:
server <- function(input, output){
summary_table_RCT <- eventReactive(input$tbl, {summary_table})
output$t_all <-
DT::renderDataTable(
summary_table_RCT(),
filter = 'top',
class = "cell-border stripe",
rownames = FALSE,
extensions = c("FixedColumns"),
options = list(searchHighlight = TRUE,
regex = TRUE,
scrollX = TRUE,
fixedColumns = list(leftColumns = 5))
)
}
shinyApp(ui, server)
不确定为什么它不起作用这与我看到的一些 eventReactive() 示例几乎相同。我看到按钮出现了,但单击时它什么也没做。
【问题讨论】:
-
如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。如果我们可以实际运行代码,那么为您提供帮助会容易得多。你确定
summary_table有值吗? -
抱歉,我无法分享更多内容,因为这是为了工作。但是所有相关的元素都在上面。我有一个操作按钮。点击后,我想创建一个反应式数据框,我想使用 renderDataTable 函数渲染它。
-
如果我在一个简单的闪亮应用程序中将
{summary_table}替换为iris,它会如您所愿。按下按钮后,表格出现。我无法从给定的信息中复制您描述的问题。 -
当我将 summary_table_RCT() 切换到 summary_table 时,它工作正常,因此数据正在通过,但是当按下按钮时,事件反应似乎并没有返回数据集。跨度>
-
您确定您输入的按钮名称正确吗?除非您可以在您的问题中创建一个可重现的示例,否则我不确定如何提供帮助。一定有一些事情没有包含在您发布的内容中。你用的是什么版本的 Shiny?