【问题标题】:How to hide form on submit button in shiny?如何在闪亮的提交按钮上隐藏表单?
【发布时间】:2017-03-19 23:52:38
【问题描述】:

我创建了一个闪亮的绝对面板。我已经创建了提交按钮和选择输入窗格。

    selectInput("Customer", "Customer",groupcustomer),
            submitButton("Submit",icon("refresh"))

以上代码在 div 标签中。我想折叠,即在 submitButton 上隐藏特定的 div 或隐藏表单。我该怎么做?

【问题讨论】:

  • 作为可能的解决方案之一:observeEvent(input$Submit, shinyjs::runjs('$("#divToHide").toggle();'))
  • 感谢回复,我解决了这个问题,HTML(paste('', submitButton("更新视图", icon("刷新")),''))
  • 顺便说一下,我们不能使用 input$submit 因为提交是闪亮的文本,而不是 ID。我们不能在 Shiny 中给 SubmitButton 提供 ID。
  • 然后将其作为解决方案发布,并尽可能将其标记为正确。有一天可能会帮助某人。最好也发布一个完整的工作示例。

标签: r shiny leaflet


【解决方案1】:

按下提交按钮时,以下将切换隐藏输入表单:

library(shiny)
library(shinyjs)

ui <- basicPage(
    useShinyjs(),
    tags$div(id="hideme",
             selectInput("Customer", "Customer", c("bill","bob","bozo"))
             ),
    actionButton("doSubmit", "Submit", icon("refresh"),
                 style="color: #fff; background-color: #337ab7; border-color: #2e6da4")
)

server <- function(input, output) {
    observeEvent(input$doSubmit, {
        toggle("hideme")
    })
}

shinyApp(ui, server)

它按照帮助页面中的建议将 submitButton 替换为 actionButton,并复制了 submitButton 的样式。

通常不鼓励使用 submitButton,而是使用更通用的 actionButton(请参阅下面的详细信息)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多