我正在使用 shinyjqui 包,并认为以下代码应该创建可拖动的UI /图。但是,使用添加UI 按钮添加2个以上的绘图后,返回的对象将无法拖动。然而,当我使整个输出 main_output 可拖动时,我可以使它工作,但这不是我想要的。
有什么建议吗?
下面的最小例子:
{{1}}
答案 0 :(得分:0)
用于多个元素的选择器应采用"#id1,#id2"
的格式,但不能采用"#id1,#id2,"
的格式,因此jqui_draggabled
的表达式应更改为jqui_draggabled(paste0('#', output_types, sep='', collapse = ','))
。
为使动态UI的逻辑更加清晰,我建议在此处使用shiny::insertUI
:
observeEvent(input$add, {
plot_type <- as.character(input$select)
input_types <- render_moduels$input_types
if (plot_type %in% input_types) return()
render_moduels$input_types <- c(input_types, plot_type)
insertUI(
selector = "#moduel_box",
where = "beforeBegin",
ui = jqui_draggabled(uiOutput(plot_type))
)
})
顺便说一句,box
函数来自shinydashboard
包,您应该在开始时加载它。