繁体   English   中英

将字符串添加到列表中并删除 SearchInput / textinput 的搜索栏中的文本

[英]Add string into a list and remove the text in the search bar of a SearchInput / textinput

可以说我的应用程序上有来自 shinyWidgets 的 searchInput 或来自 Shiny 的常规文本输入。

我希望用户能够写一些东西,按 enter - 代码将其添加到列表中。 这样search_1 ENTER , search_2 ENTER , search_3 ENTER

每次按下回车键时,搜索输入 UI 都会被重置。

Output 需要是“search_1, search_2, search_3”

我现在有解决方法,使用 searchInput 将输入文本拆分为“,”,因此用户需要自己键入“search_1、search_2、search_3”,这不是最佳使用方式。

希望这可以做到吗? 提前致谢!

您可以创建一个反应值search_text存储所有输入:

library(shiny)
library(shinyWidgets)

ui <- fluidPage(
  searchInput("search"),
  textOutput("text")
)

server <- function(input, output, session) {
  # store all entered search terms
  search_text <- reactiveVal(value = "")
  
  observeEvent(
    eventExpr = input$search,
    handlerExpr = {
      # add current search term
      search_text() %>%
        paste0(input$search, ", ") %>%
        search_text()
      
      # reset input text
      updateSearchInput(session, "search", value = "")
    }
  )
  
  output$text <- renderText(search_text())
}

shinyApp(ui, server)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM