r语言 - 重置闪亮拖放顺序输入



对于这个问题,我修改了代码(https://cran.r-project.org/web/packages/shinyjqui/readme/README.html(

我需要根据单击"重置"按钮重置订单输入。

示例:如果我将NovDec放入Dest中,然后单击按钮,我希望元素再次出现在Source中。我可以按 ID 调用订单输入来重置它们吗?

server <- function(input, output) {
output$order <- renderPrint({ print(input$dest_order) })
observeEvent(input$btn,{
reset("dest")        # these did not work
reset("input$dest")
reset(input$dest)
})
}
ui <- fluidPage(
orderInput('source', 'Source', items = month.abb,
connect = 'dest'),
orderInput('dest', 'Dest', items = NULL, placeholder = 'Drag items here...', connect = 'source'),
verbatimTextOutput('order'),
actionButton("btn","reset")
)
shinyApp(ui, server)

我遇到了类似的问题,orderInput widget 没有对 reset(( 或 updateSelectInput(( 做出反应。

我最终使用了一种解决方法,其中在按下重置按钮后重新渲染 orderInput 小部件的 UI 。这是基于另一个堆栈溢出问题的答案(shinyjqui::orderInput中的最大项目(。

如果我正确理解您的情况,您希望在按下重置按钮时将源和目标订单输入小部件重置为其初始值:

library(shiny)
library(shinyjqui)
server <- function(input, output) {
output$order <- renderPrint({ print(input$dest_order) })

output$ui_source <- renderUI({
orderInput('source', 'Source', items = month.abb,
connect = 'dest')
})
output$ui_dest <- renderUI({
orderInput('dest', 'Dest', items = NULL, placeholder = 'Drag items here...', connect = 'source')
})

observeEvent(input$btn,{
# Render the UI for the orderInput widgets again
output$ui_source <- renderUI({
orderInput('source', 'Source', items = month.abb,
connect = 'dest')
})
output$ui_dest <- renderUI({
orderInput('dest', 'Dest', items = NULL, placeholder = 'Drag items here...', connect = 'source')
})
})
}
ui <- fluidPage(
uiOutput("ui_source"),
uiOutput("ui_dest"),
verbatimTextOutput('order'),
actionButton("btn","reset")
)
shinyApp(ui, server)

最新更新