我想隐藏一个操作按钮,一旦它被单击,当输入不为空。
类似的问题也被问过here,提供的解决方案效果很好。
但是,我不知道如何使它在一个闪亮的模块工作。
下面是我的示例代码:
# module UI
choice_ui <- function(id) {
ns <- NS(id)
tagList(
textInput(inputId = ns("myInput"), label = "write something"),
actionButton(inputId = ns("click"), label = "click me"),
verbatimTextOutput(outputId = ns("text"))
)
}
# module server
choice_server <- function(id) {
moduleServer(id, function(input, output, session){
observeEvent(input$click, {
x <- input$myInput
output$text <- renderPrint({x})
req(x)
removeUI(selector = paste0("#click", id), session = session)
})
})
}
# Application
library(shiny)
app_ui <- function() {
fluidPage(
choice_ui("choice_ui_1")
)
}
app_server <- function(input, output, session) {
choice_server("choice_ui_1")
}
shinyApp(app_ui, app_server)
1条答案
按热度按时间8yoxcaq71#
在模块服务器上,获取会话名称空间:
在
removeUI()
中按如下方式使用它:下面是一个完整的reprex: