在某些情况下,我需要重新使用我shiny 的应用程序中的一些子模块,但我需要根据需要显示或隐藏同一模块中的一些元素.

当元素被隐藏时,我仍然希望为其分配一个缺省值.因为如果我没有保留缺省值,则在服务器中将找不到此元素中的参数,这将导致一些错误.

我想把每件事都做到in the UI only.

这是我的演示代码.

有可能做到吗?

mod_plot_ui <- function(id, showUI = FALSE){
  ns <- NS(id)
  tagList(
    column(width = inputWidth,
           box(
             width = 12,
             inputId = "input_card",
             title = strong("Input Parameters"),
             status = "primary",
             if (isTRUE(showUI)) {
               div(
                 numericInput(inputId = ns("myValue"),
                              label = NULL,
                              min = 0,
                              max = 10,
                              value = NA,
                              step = 0.001
                              )
               )
             } else {
                 div(here I need to hide the numericInput element, but keep the default value as NA)
             }
           )
))}

推荐答案

我们可以将style属性添加到您的div以实现以下目标:

library(shiny)
library(shinydashboard)

mod_plot_ui <- function(id, showUI = FALSE){
  ns <- NS(id)
  tagList(
    column(width = 6,
           shinydashboard::box(
             width = 12,
             inputId = "input_card",
             title = strong("Input Parameters"),
             status = "primary",
             div(
               numericInput(inputId = ns("myValue"),
                            label = NULL,
                            min = 0,
                            max = 10,
                            value = NA,
                            step = 0.001
               ),
               style = ifelse(isTRUE(showUI), yes = "display:block;", no = "display:none;")
             )
             
           )
    ))}

ui <- fluidPage(
  mod_plot_ui("test1", TRUE),
  mod_plot_ui("test2", FALSE)
)

server <- function(input, output, session) {
  observe({
    lapply(names(session$input), function(x){print(input[[x]])})
  })
}

shinyApp(ui, server)

R相关问答推荐

基于现有类创建类的打印方法(即,打印tibles更长时间)

将复杂的组合列表转换为数据框架

如何优化向量的以下条件赋值?

如何得到每四个元素向量R?

将饼图插入条形图

如何删除最后一个可操作对象

用约翰逊分布进行均值比较

派生程序包| ;无法检索';return()';的正文

汇总数据帧中的复制列,保持行的唯一性

将箭头绘制在图形外部,而不是图形内部

解析嵌套程度极高的地理数据

根据r中另一个文本列中给定的范围对各列求和

`-`是否也用于数据帧,有时使用引用调用?

创建在文本字符串中发现两个不同关键字的实例的数据框

是否有可能从边界中找到一个点值?

我已经运行了几个月的代码的`Palette()`中出现了新的gglot错误

根据用户输入更改标记大小和 colored颜色 (R)

删除r中每个因素级别的最后2行

创建由三个单独的shapefile组成的单个 map

Ggplot2水平线和垂直线的图例图标不匹配