r语言 - 使用渲染UI进行闪亮的仪表板登录



我有这个代码的问题

 output$body <- renderUI({
if(USER$Logged==TRUE)
{uiOutput("test_UI")}
if (USER$Logged == FALSE) {
box(title = "Login",textInput("userName", "Username"),
    passwordInput("passwd", "Password"),
    br(),
    actionButton("Login", "Log in"))
 }})
  output$test_UI <- renderUI ({
 tabItems(
  tabItem(tabName = "me","Hello"),
  tabItem(tabName = "Req", uiOutput("emp1")),
  tabItem(tabName = "Cand", uiOutput("emp2")),
  tabItem(tabName = "Candcomp",uiOutput("emp3")))
 })

如果我删除正文渲染UI中的两个if条件,它可以正常工作:

      output$body <- renderUI({

uiOutput("test_UI")
  }})
    output$test_UI <- renderUI ({
 tabItems(
  tabItem(tabName = "me","Hello"),
  tabItem(tabName = "Req", uiOutput("emp1")),
  tabItem(tabName = "Cand", uiOutput("emp2")),
  tabItem(tabName = "Candcomp",uiOutput("emp3")))
 })

为什么会发生这种情况,请澄清!提前感谢!

 output$body <- renderUI({
if(USER$Logged==TRUE)
{uiOutput("test_UI")}
else {
box(title = "Login",textInput("userName", "Username"),
passwordInput("passwd", "Password"),
br(),
actionButton("Login", "Log in"))
}})
output$test_UI <- renderUI ({
 tabItems(
 tabItem(tabName = "me","Hello"),
 tabItem(tabName = "Req", uiOutput("emp1")),
 tabItem(tabName = "Cand", uiOutput("emp2")),
 tabItem(tabName = "Candcomp",uiOutput("emp3")))
  }  )

它适用于 if 和其他简单。

最新更新