我正在开发一个闪亮的应用程序,它有两个组件 Sankey Diagram 和一个操作按钮,单击按钮会弹出“SaveMsg”对话框。
我看到意外的行为,如果我在一个仪表板中使用操作按钮和 Sankeyvisualization,单击操作按钮,仪表板屏幕变灰。
但是,如果我评论 Sankey 代码并在 UI 上仅保留操作按钮,则操作按钮会通过显示“保存成功”的弹出消息按预期工作。如果我评论操作按钮代码并在 UI 中只保留 Sankey 代码,我可以在仪表板上看到 sankey 输出。
Sankey 代码和操作按钮都按预期分别工作,但是如果我将两者都放在一个仪表板操作按钮中,则屏幕外的仪表板屏幕呈灰色。
我还附上了示例代码-
library(shiny)
library(networkD3)
library(shinydashboard)
value <- c(12,21,41,12,81)
source <- c(4,1,5,2,1)
target <- c(0,0,1,3,3)
edges2 <- data.frame(cbind(value,source,target))
names(edges2) <- c("value","source","target")
indx <- c(0,1,2,3,4,5)
ID <- c('CITY_1','CITY_2','CITY_3','CITY_4','CITY_5','CITY_6')
nodes <-data.frame(cbind(ID,indx))
ui <- dashboardPage(
dashboardHeader(
),
dashboardSidebar(disable = TRUE),
dashboardBody(
fluidPage(
actionLink("savebtn", "Save button")
,sankeyNetworkOutput("simple")
)
)
)
server <- function(input, output,session) {
# Show modal when button is clicked.
observeEvent(input$savebtn, {
showModal(modalDialog(
title = "Save successful"))
})
output$simple <- renderSankeyNetwork({
sankeyNetwork(Links = edges2, Nodes = nodes,
Source = "source", Target = "target",
Value = "value", NodeID = "ID"
,units = "SSN" )
})
}
shinyApp(ui = ui, server = server)