首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shinysky -如何访问textInput.typeahead()值

shinysky -如何访问textInput.typeahead()值
EN

Stack Overflow用户
提问于 2018-05-03 14:05:16
回答 1查看 547关注 0票数 1

我找不到很多关于这个不受欢迎的R包(辛尼斯基)的信息,但是我正在使用它的自动完成功能。我可以让文本框自动完成并建议单词,但我想访问这个值,并在verbatimTextOutput中打印出来。

下面是我在服务器中的内容。R:

代码语言:javascript
复制
library(shiny)

my_autocomplete_list <- c("aaaa","bbbb","ccccc", "dddd","eeee")

# ============================================================================================================
# ============================================================================================================

# Define server logic required to draw a histogram
shinyServer(function(input, output) {

  output$dateRangeText  <- renderText({
    paste("input$dateRange is", 
          paste(as.character(input$dateRange), collapse = " to ")
    )
  })

  # output$CodeText <- rederText({
  #   paste("input$code is",
  #         paste(as.character(input$code)))
  # })

  output$PercentText <- renderText({
    paste("input$percent_to_invest is",
          paste(as.character(input$percent_to_invest)))
  })

  output$InvestText <- renderText({
    paste("input$money_to_invest is",
          paste(as.character(input$money_to_invest)))
  })



})

这是我在ui.R:的文章

代码语言:javascript
复制
library(shiny)
library(shinysky)

shinyUI(fluidPage(

  tags$style(type="text/css",".shiny-output-error { visibility: hidden; }",".shiny-output-error:before { visibility: hidden; }"),
  tags$style(type="text/css","#search { top: 50% !important;left: 50% !important;margin-top: -100px !important;margin-left: -250px 
             !important; color: blue;font-size: 20px;font-style: italic;}"),

  sidebarLayout(
    sidebarPanel(
      dateRangeInput('dateRange',
                     label = 'Date range input: yyyy-mm-dd',
                     start = Sys.Date() - 2, end = Sys.Date() + 2
      ),

      textInput.typeahead(id="search",
                          placeholder="Type your name please",
                          local=data.frame(name=c(my_autocomplete_list)),
                          valueKey = "name",
                          tokens=c(1:length(my_autocomplete_list)),
                          template = HTML("<p class='repo-language'>{{info}}</p> <p class='repo-name'>{{name}}</p>")
      ),

      numericInput("percent_to_invest", "Percent", value = 0),

      numericInput("money_to_invest", "Intial Investment ($)", value = 0),

      select2Input("select2Input3",
                   "Multiple Select 2 Input",
                   choices = c("a","b","c"),
                   selected = c("b","a"), 
                   type = "select",
                   multiple=TRUE),

      actionButton("add", "Add+"),

      verbatimTextOutput("dateRangeText"),
      # verbatimTextOutput("CodeText"),
      verbatimTextOutput("PercentText"),
      verbatimTextOutput("InvestText"),

      actionButton("submit", "Submit")
    ),

    mainPanel(
    )
  )
))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-04 10:54:20

为什么不简单地使用这个input$search打印出来。

你可以试试这个:

代码语言:javascript
复制
ui <- fluidPage(

  tags$style(type="text/css",".shiny-output-error { visibility: hidden; }",".shiny-output-error:before { visibility: hidden; }"),
  tags$style(type="text/css","#search { top: 50% !important;left: 50% !important;margin-top: -100px !important;margin-left: -250px 
             !important; color: blue;font-size: 20px;font-style: italic;}"),
  tags$style(HTML("
                  .input {
                  width: 50%;
                  }
                  ")),

  tags$style(HTML("
                  .tt-hint {
                  width: 50%;
                  }
                  ")),

  sidebarLayout(
    sidebarPanel(
      dateRangeInput('dateRange',
                     label = 'Date range input: yyyy-mm-dd',
                     start = Sys.Date() - 2, end = Sys.Date() + 2
      ),

      textInput.typeahead(id="search",
                          placeholder="Type your name please",
                          local=data.frame(name=c(my_autocomplete_list)),
                          valueKey = "name",
                          tokens=c(1:length(my_autocomplete_list)),
                          template = HTML("<p class='repo-language'>{{info}}</p> <p class='repo-name'>{{name}}</p>")
      ),

      numericInput("percent_to_invest", "Percent", value = 0),

      numericInput("money_to_invest", "Intial Investment ($)", value = 0),

      select2Input("select2Input3",
                   "Multiple Select 2 Input",
                   choices = c("a","b","c"),
                   selected = c("b","a"), 
                   type = "select",
                   multiple=TRUE),

      actionButton("add", "Add+"),

      verbatimTextOutput("dateRangeText"),
      # verbatimTextOutput("CodeText"),
      verbatimTextOutput("PercentText"),
      verbatimTextOutput("InvestText"),
      textOutput("testing"),

      actionButton("submit", "Submit")
    ),

    mainPanel(
    )
  )
  )


server <- function(input, output) {

  output$dateRangeText  <- renderText({
    paste("input$dateRange is", 
          paste(as.character(input$dateRange), collapse = " to ")
    )
  })

  # output$CodeText <- rederText({
  #   paste("input$code is",
  #         paste(as.character(input$code)))
  # })

  output$PercentText <- renderText({
    paste("input$percent_to_invest is",
          paste(as.character(input$percent_to_invest)))
  })

  output$InvestText <- renderText({
    paste("input$money_to_invest is",
          paste(as.character(input$money_to_invest)))
  })

  output$testing  <- renderText({
    print(input$search)
  })


}


shinyApp(ui, server)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50157032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档