错误:无法将类型“closure”强制为类型“character”的向量

fquxozlt  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(314)

有人能帮我纠正这个错误吗?我不知道这里出了什么问题。
我收到错误消息“Error:在密码字段中插入密码时,无法将“closure”类型强制转换为“character '”类型的向量。

用户界面

fluidRow(
    column(10),
    column(2,
           tagList(
             passwordInput("password", "Password:"),
             uiOutput("analyseTab")
           )
    )
  )

服务器

output$analyseTab <- renderUI({

if(input$password == "shiny"){
  showTab("TabBox01","Tab_Analyse")
}
else{
  hideTab(inputId = "TabBox01", target = "Tab_Analyse")
}})

谢谢大家!

gpnt7bae

gpnt7bae1#

出现此错误是因为output / renderUI使用不当。
我认为在这种情况下,您需要的是ObserveEvent,而不是UI输出。

ui <- fluidPage(
  fluidRow(
    column(10),
    column(2,
           tagList(
             passwordInput("password", "Password:"),
             uiOutput("analyseTab")
           )
    )
  ),
  tabsetPanel(
    id = "TabBox01",
    tabPanel("tab1", 'A regular tab'),
    tabPanel("Tab_Analyse", "A password-hidden tab")
  )
  
  
)
server <- function(input, output, session) {
  observeEvent(input$password, {
    if(input$password == "shiny"){
      showTab("TabBox01","Tab_Analyse")
      updateTabsetPanel(session, "TabBox01", selected = "Tab_Analyse")
    }
    else{
      hideTab(inputId = "TabBox01", target = "Tab_Analyse")
    }})
}

shinyApp(ui, server)

相关问题