我有一个数据表,当用户单击特定行时,会弹出modal
,并显示一个使用timevis
的时间轴。一切正常(除了初始点击timevis
会花很长时间才能加载,但每次点击之后,它都会快速加载。不确定原因是100%)。
不行的是时间轴不适合模式的宽度,并且超出了modal
的宽度,或者如果我在HTML中设置了宽度,宽度也无法达到。
文档说明:
时间轴的固定宽度(css单位)。在闪亮中使用时被忽略 app –在timevisOutput中使用width参数。不推荐 使用此参数,因为小部件知道如何调整其宽度 自动。
下面是代码:
library(shiny)
library(shinydashboard)
library(timevis)
library(DT)
ui = dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
tags$head(tags$style(HTML('
.modal-sm {
width: 95%;
}
'))), #used to set the length of the modal
DTOutput('x1'),
verbatimTextOutput("test")
)
)
server = function(input, output) {
output$x1 = renderDT(
iris,
selection = 'single',
options = list(
)
)
observeEvent(input$x1_cell_clicked, {
row = input$x1_cell_clicked$row
if (is.null(row) || row == '') {} else{
showModal(modalDialog(
title = "Timeline!",
timevis(
data.frame(id = 1:2,
content = c(row, "two"),
start = c("2016-01-10", "2016-01-12")),
showZoom = FALSE
),
size = "s",
easyClose = TRUE,
footer = NULL
))
}
})
output$test <- renderPrint({
input$x1_cell_clicked$row
})
}
shinyApp(ui, server)