【发布时间】:2019-06-03 16:54:23
【问题描述】:
我正在尝试创建一个允许用户搜索自定义术语的应用程序,我试图创建的逻辑是用户,输入一个字符串,然后在键盘上按 ENTER,执行搜索词,这是可以实现的。但是在下面的示例中,按下回车按钮后,它会在文本输入中执行所有更改
我尝试将最后一个键重置为空等,但没有运气解决这个小问题,下面的简化代码
library(shiny)
ui <- fluidPage(
# Application title
titlePanel("example"),
fluidRow(
column( 3, offset = 1,
tags$script(' $(document).on("keydown", function (e) {
Shiny.onInputChange("lastkeypresscode", e.keyCode);
});
'),
textInput("searchtext",
label = "Text input",
value = "")),
column( 4, textOutput("mysearch")),
column( 4)
)
server <- function(input, output) {
observe({
if(!is.null(input$lastkeypresscode)){
if(input$lastkeypresscode == 13){
output$mysearch <- renderText(input$searchtext)
}
}
})
}
# Run the application
shinyApp(ui = ui, server = server)
预期的输出是只有在按下 ENTER 键后才能在输出的文本中看到更改
【问题讨论】:
标签: shiny