我目前正在开发一个闪亮的应用程序,成功登录后,我需要隐藏登录页面并显示闪亮的仪表板。如果没有,应显示登录页面。
我遇到了几个站点,因此决定使用shinyjs软件包来显示和隐藏活动页面/仪表板页面。
使用的全局函数如下:
%AND%
<- function (x, y) { if (!is.null(x) && !anyNA(x)) if (!is.null(y) && !anyNA(y)) return(y) return(NULL) }
passwordInputAddon <- function (inputId, label, value = "", placeholder = NULL, addon, width = NULL) { value <- shiny::restoreInput(id = inputId, default = value) htmltools::tags$div( class = "form-group shiny-input-container", label %AND% htmltools::tags$label(label, for
= inputId), style = if (!is.null(width)) paste0("width: ", htmltools::validateCssUnit(width), ";"), htmltools::tags$div( style = "margin-bottom: 5px;", class="input-group", addon %AND% htmltools::tags$span(class="input-group-addon", addon), htmltools::tags$input( id = inputId, type = "password", class = "form-control", value = value, placeholder = placeholder ) ) ) } 使用的UI代码如下:
ui <- shinyUI(fluidPage( tags$div(id = "login_page_ui", shinyjs::useShinyjs(), tags$style(".container-fluid {margin-top: 13%}"), setBackgroundColor(color = "#2d3c44"), fluidRow( column(8, align = "center", offset = 2, textInputAddon("name", label = "", placeholder = "Username", addon = icon("user"),width = "25%"), tags$style(type="text/css", "#string { height: 50px; width: 50%; text-align:center; font-size: 30px; display: block;}") ) ), fluidRow( column(8, align = "center", offset = 2, passwordInputAddon("password", label = "", placeholder = "Password", addon = icon("key"),width = "25%"),
tags$style(type="text/css", "#string { height: 50px; width: 50%; text-align:center; font-size: 30px; display: block;}") ) ),
fluidRow(
column(12, div(style = "height:20px;background-color: #2d3c44;")
)
),
fluidRow(
column(6, align = "center", offset = 3,
actionButton("login",label = "Login", width = "35%", style = "color: #fff; background-color: #1bc3d7; border-color: #1bc3d7;")))
) ),
shinyjs::hidden( tags$div( id = "dashboard_page_ui", dashboardPage( dashboardHeader( title="Shiny Dashboard", tags$li( class="dropdown" ) ), dashboardSidebar( sidebarMenu( id = 'dashboard_menu', sidebarMenuOutput("menu")
)
),
dashboardBody(
tabItems(
tabItem(tabName="Item1"),
tabItem(tabName="Item2"),
tabItem(tabName="Item3")
)
)
)
) ) ) 使用的服务器代码如下:
server <- function(input, output,session){ observeEvent(input$login,{
if((input$name == "Nevedha") & (input$password == "welcome123")){
shinyjs::show("dashboard_page_ui")
shinyjs::hide("login_page_ui")
}
})
} 当我执行此代码时,我收到此错误消息
Error in shinyUI(fluidPage(tags$div(id = "login_page_ui", shinyjs::useShinyjs(), : unused argument (shinyjs::hidden ..... 我不知道确切的问题是什么。谁能帮我解决这个问题?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。