【问题标题】:selectInput not working选择输入不起作用
【发布时间】:2017-01-03 07:47:47
【问题描述】:
library(shiny)

shinyUI(fluidPage(

  # Application title
  titlePanel(h1("TEST", align = "center", style = "color:red")),
  tabsetPanel(
    tabPanel("Marketing",sidebarLayout(
      sidebarPanel(textInput("id",label = "Enter consultant Name"),
                   selectInput('s1','Select Names',choices = c('i','ij','ishu','ishan'),selected = NULL),
                   actionButton("a","Submit")
                  ),
      mainPanel(
        textOutput('out'),
        textOutput("sout")
      )
     )
    ),

    tabPanel("Recruitment",sidebarLayout(
      sidebarPanel(textInput("id1",label = "Enter consultant Name"),
                   actionButton("a1","Submit")
                  ),
      mainPanel(
        textOutput('out1')
      )
     )
    ),

    tabPanel("Engineering",sidebarLayout(
      sidebarPanel(textInput("id2",label = "Enter consultant Name"),
                   actionButton("a2","Submit")
                  ),
      mainPanel(
        textOutput('out2')
      )
     )
    ),

    tabPanel("Finance",sidebarLayout(
      sidebarPanel(textInput("id3",label = "Enter consultant Name"),
                   actionButton("a3","Submit")
                  ),
      mainPanel(
        textOutput('out3')
      )
     )
    ),

    tabPanel("Legal",sidebarLayout(
      sidebarPanel(textInput("id4",label = "Enter consultant Name"),
                   actionButton("a4","Submit")
                  ),
      mainPanel(
        textOutput('out4')
      )
     )
    ),

    tabPanel("Test",
        mainPanel(
        tableOutput('table')
      )       
     )  
  )
)
)

图书馆(闪亮)

 shinyServer(function(input, output) {
      observeEvent(input$a,
      output$out <- renderText(
                    input$id),
       output$sout <- renderText(input$s1)
     )

      observeEvent(input$a1,
                   output$out1 <- renderText(

                     input$id1
                   )
      )

      observeEvent(input$a2,
                   output$out2 <- renderText(

                     input$id2
                   )
      )

      observeEvent(input$a3,
                   output$out3 <- renderText(
                     input$id3
                   )
      )

      observeEvent(input$a4,
                   output$out4 <- renderText(
                     input$id4
                   )
      )
      output$table <- renderTable(read.csv('csv1.csv'))
    })

在这个应用程序中,每当用户单击 ID 为“a”的操作按钮时,我都会尝试从 selectInput 函数中获取名称。我试图在 observeEvent() 函数下执行此操作,但出现错误:-“eval 中的错误:'closure' 类型的无效 'envir' 参数”。请帮忙 提前致谢

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    您的服务器功能似乎有问题。您需要在{} 内的observeEvent 中包含多行代码。只需替换您的代码:

    observeEvent(input$a,
          output$out <- renderText(
                        input$id),
           output$sout <- renderText(input$s1)
         )
    

    以下内容:

    observeEvent(input$a,{
        output$out <- renderText(input$id)
        output$sout <- renderText(input$s1) 
      })
    

    我认为这会解决问题。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2015-10-21
      • 2017-04-21
      • 2013-07-14
      • 2019-12-04
      • 2015-04-18
      • 2019-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      相关资源
      最近更新 更多