获取包含当前会话中存在的输入的输入列表

SBista

我想检索当前闪亮会话中的输入列表。我们可以使用 检索输入列表names(input)

我有一个uiOutputand 基于不同的条件我渲染不同类型的输入。我目前面临的问题是,当条件发生变化时,列表中也会出现来自先前 renderUI 的输入。有没有办法只获取当前会话中的输入?

为了更好地解释我的查询,我有以下示例代码:

   library(shiny)

    ui <- fluidPage(

      sliderInput(inputId = "slider",label = "", min = 1, max = 3, value = 1),

      uiOutput("UI"),

      actionButton(inputId = "btn", label = "Show Inputs"),

      verbatimTextOutput(outputId = "textOp")
    )


    server <- function(input, output){

      observeEvent(input$slider,{

        if(input$slider == 1){

          output$UI <- renderUI(
            textInput("txt1",label = "Slider in position 1")
                      )

        }else if(input$slider == 2){

          output$UI <- renderUI(
          textInput("txt2",label = "Slider in position 2")
          )

        }else{

          output$UI <- renderUI(
          textInput("txt3",label = "Slider in position 3")
                    )
        } 


      })


      observeEvent(input$btn,{

        output$textOp <- renderText(

          paste0(names(input), ",") 
        ) 


       })
    }



    shinyApp(ui = ui, server = server)

在上面的代码中,当我第一次单击标有“显示输入”的操作按钮时,我得到以下文本作为输出:

btn, 滑块, txt1,

现在,当我将滑块移动到 2 时,我的输出如下:

btn, 滑块, txt1, txt2,

这里 txt1 是在滑块位于位置 1 时生成的,并且此 renderUI 被output$UI <- renderUI(textInput("txt2",label = "Slider in position 2")). 我想要一个txt1不存在的输入列表有没有办法做到这一点?

托尼奥·利布兰德

我想出了一种解决方法,假设您没有任何应取值为NULL. 您可以设置要删除的输入值,NULLNULL在显示名称时过滤非 - s。

library(shiny)

ui <- fluidPage(
  tags$script("
    Shiny.addCustomMessageHandler('resetValue', function(variableName) {
              Shiny.onInputChange(variableName, null);
              });
              "
  ),
  sliderInput(inputId = "slider",label = "", min = 1, max = 3, value = 1),

  uiOutput("UI"),

  actionButton(inputId = "btn", label = "Show Inputs"),

  verbatimTextOutput(outputId = "textOp")

)


server <- function(input, output, session){

  observeEvent(input$slider,{
    for(nr in 1:3){
      if(nr != input$slider) session$sendCustomMessage(type = "resetValue", message = paste0("txt", nr))      
    }
  })

  output$UI <- renderUI(
    textInput(paste0("txt", input$slider), label = paste0("Slider in position ", input$slider))
  )

  global <- reactiveValues()

  observe({
      inp = c()
      for(name in names(input)){
        if(!is.null(input[[name]])){
          inp <- c(inp, name)
        }
      }
      isolate(global$inputs <- inp)
  })

  output$textOp <- renderText({
    global$inputs
  })
}
shinyApp(ui = ui, server = server)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在类中输入列表无法获取对象

来自分类Dev

在文件中输入列表项

来自分类Dev

如何在 WTForms 中输入列表?

来自分类Dev

在 Pandas 列中输入列表值

来自分类Dev

使用可观察对象跟踪预先输入列表中的当前位置

来自分类Dev

根据输入列表复制文件,文件名中包含特殊字符

来自分类Dev

SAP进程会话txt不带输入列

来自分类Dev

比较Python输入列表中的字符串

来自分类Dev

LinkedList构造函数,允许用户输入列表中的元素

来自分类Dev

如何基于输入列表批量更改文件中的文本

来自分类Dev

将文件中的行转换为输入列表

来自分类Dev

在类中写出整个输入列表以进行模型预测

来自分类Dev

从输入列表中查找最大数量

来自分类Dev

如何获取ipython会话中的输入总数?

来自分类Dev

Haskell输入列表-列表上的递归

来自分类Dev

在select2中获取当前输入

来自分类Dev

将输入从输入列表传递给函数,而无需在C中对其进行硬编码

来自分类Dev

在 React 中,如何在渲染输入列表时绑定输入的值?

来自分类Dev

用最新值输入列表

来自分类Dev

删除输入列表的可变部分

来自分类Dev

将多个输入放入列表

来自分类Dev

Python:对输入列表进行验证

来自分类Dev

RactiveJS的无线电输入列表

来自分类Dev

如何拆分用户输入列表

来自分类Dev

将在String中读取的输入列表转换为Python中的列表

来自分类Dev

在pandas dframe中选择行,其中给定的输入列表是dframe列中列表的子集

来自分类Dev

如何有效地将不存在的实体从输入列表添加到Entity Framework中的数据库

来自分类Dev

如何从用户那里获取输入并将其保存在列表中(Python Kivy)?

来自分类Dev

从输入获取项目在列表中的位置(Python)

Related 相关文章

  1. 1

    在类中输入列表无法获取对象

  2. 2

    在文件中输入列表项

  3. 3

    如何在 WTForms 中输入列表?

  4. 4

    在 Pandas 列中输入列表值

  5. 5

    使用可观察对象跟踪预先输入列表中的当前位置

  6. 6

    根据输入列表复制文件,文件名中包含特殊字符

  7. 7

    SAP进程会话txt不带输入列

  8. 8

    比较Python输入列表中的字符串

  9. 9

    LinkedList构造函数,允许用户输入列表中的元素

  10. 10

    如何基于输入列表批量更改文件中的文本

  11. 11

    将文件中的行转换为输入列表

  12. 12

    在类中写出整个输入列表以进行模型预测

  13. 13

    从输入列表中查找最大数量

  14. 14

    如何获取ipython会话中的输入总数?

  15. 15

    Haskell输入列表-列表上的递归

  16. 16

    在select2中获取当前输入

  17. 17

    将输入从输入列表传递给函数,而无需在C中对其进行硬编码

  18. 18

    在 React 中,如何在渲染输入列表时绑定输入的值?

  19. 19

    用最新值输入列表

  20. 20

    删除输入列表的可变部分

  21. 21

    将多个输入放入列表

  22. 22

    Python:对输入列表进行验证

  23. 23

    RactiveJS的无线电输入列表

  24. 24

    如何拆分用户输入列表

  25. 25

    将在String中读取的输入列表转换为Python中的列表

  26. 26

    在pandas dframe中选择行,其中给定的输入列表是dframe列中列表的子集

  27. 27

    如何有效地将不存在的实体从输入列表添加到Entity Framework中的数据库

  28. 28

    如何从用户那里获取输入并将其保存在列表中(Python Kivy)?

  29. 29

    从输入获取项目在列表中的位置(Python)

热门标签

归档