将条件文本输出添加到 cardprofile
Add conditional text outpuT to cardprofile
我正在使用 bs4Dash
库中的 cardProfile
在我的 Shiny
应用程序中显示当前用户。
cardProfile 在 ui
部分看起来像这样:
cardProfile(
src = "logo.png",
title = 'SHOW HERE THE USERNAME'
subtitle = "Administrator",
cardProfileItemList(
bordered = TRUE,
cardProfileItem(
title = "Email",
description = 'SHOW HERE THE EMAIL'
)
)
我应该在标题和描述中使用什么来根据输入显示姓名和电子邮件?
我试过 textOutput
:
title = textOutput('title')
description = textOutput('email')
并且 server
部分中的反应没有结果:
reactive({
USER <- input$user
output$title<- USER
output$email<- usuarios$email[usuarios$usuario == USER ]
})
您需要在 renderUI() 中定义卡片服务器端,然后使用 UIOuptut() 在 UI 中显示它。
几乎每次您需要在 UI 中显示响应式内容时,您都必须在服务器端对其进行编码或在它存在时使用 updateInput 函数。
library(shiny)
library(bs4Dash)
df_email <- data.frame(user = "toto",
email = "toto@toto.com")
shinyApp(
ui = dashboardPage(,
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
bs4Card(
uiOutput("card_user")
)
),
title = "DashboardPage"
),
server = function(input, output) {
# USER <- reactive(input$user) #uncomment
USER <- reactive("toto") #comment
output$card_user <- renderUI({
cardProfile(
# src = "logo.png",
title = 'SHOW HERE THE USERNAME',
subtitle = "Administrator",
cardProfileItem(
title = USER(),
description = df_email$email[df_email$user == USER()] #replace with your own data
)
)
})
}
)
我正在使用 bs4Dash
库中的 cardProfile
在我的 Shiny
应用程序中显示当前用户。
cardProfile 在 ui
部分看起来像这样:
cardProfile(
src = "logo.png",
title = 'SHOW HERE THE USERNAME'
subtitle = "Administrator",
cardProfileItemList(
bordered = TRUE,
cardProfileItem(
title = "Email",
description = 'SHOW HERE THE EMAIL'
)
)
我应该在标题和描述中使用什么来根据输入显示姓名和电子邮件?
我试过 textOutput
:
title = textOutput('title')
description = textOutput('email')
并且 server
部分中的反应没有结果:
reactive({
USER <- input$user
output$title<- USER
output$email<- usuarios$email[usuarios$usuario == USER ]
})
您需要在 renderUI() 中定义卡片服务器端,然后使用 UIOuptut() 在 UI 中显示它。
几乎每次您需要在 UI 中显示响应式内容时,您都必须在服务器端对其进行编码或在它存在时使用 updateInput 函数。
library(shiny)
library(bs4Dash)
df_email <- data.frame(user = "toto",
email = "toto@toto.com")
shinyApp(
ui = dashboardPage(,
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
bs4Card(
uiOutput("card_user")
)
),
title = "DashboardPage"
),
server = function(input, output) {
# USER <- reactive(input$user) #uncomment
USER <- reactive("toto") #comment
output$card_user <- renderUI({
cardProfile(
# src = "logo.png",
title = 'SHOW HERE THE USERNAME',
subtitle = "Administrator",
cardProfileItem(
title = USER(),
description = df_email$email[df_email$user == USER()] #replace with your own data
)
)
})
}
)