0
条件付きパネルを使用してShinyアプリを動的に構築しています。パネルが基づいている状態は起動時に評価されないようです。パネルはデフォルトで表示され、一部の操作の後にのみ消えます。条件が満たされていなくても、パネルが表示されます(input.select1.length = 0、1未満です)。光沢のある条件付きパネルが起動時に評価されない
最小限の作業例:
Server.R:
shinyServer(function(input, output,session){
output$selectInput1 <- renderUI({
selectInput(
inputId = "select1",
label = "Select",
choices = c('1','2','3'),
selected = NULL,
multiple = TRUE
)
})
})
UI.R:@porkchopが指摘したように
dashboardPage(
title = "",
## Header content + dropdownMenu
dashboardHeader(
title = tags$b(""),
titleWidth = 250
),
## Sidebar content
dashboardSidebar(
width = 250,
sidebarMenu(
id = "tabs",
menuItem("tab1", tabName = "tab", icon = icon("table"))
)
),
## Body content
dashboardBody(
tabItems(
tabItem(tabName = "tab",
div(
div(
style="float: left; padding-left: 20px; padding-right: 20px; width: 350px; background-color: #F4F4F4; height: calc(100vh - 50px) !important;",
uiOutput('selectInput1')
),
div(
conditionalPanel(
condition = "input.select1.length > 1",
p('hi')
)
)
)
)
)
)
)
ページを右クリックして、あなたが 'input.select1.length'を評価するとき、それは文句ことがわかりますinspect''クリックしてください。それは適切なコマンドではないようです。 'jQuery' https://api.jquery.com/length/ –
Thx @PorkChopを試してみてください。私はそれを変更:conditionalPanel( 条件= "!typeof演算input.select1.length == '未定義'"、 conditionalPanel( 条件= "input.select1.length> 0"、 P( 'こんにちは') ) )でも同じエラーです。第二の条件を評価しないための最初の条件は何でしょうか? – Dendrobates
別の 'renderUI'を作成する方が簡単かもしれません –