selectInputでmultiple = TRUEで選択されたエントリの数に基づいて、異なる数のフィールドを生成しようとしています。したがって、「numfields」入力から1つの項目が選択された場合、最初の条件付きパネルが表示されます。私が今入力したものは、ユーザー入力なしで条件付きにしたい入力を示しています。ユーザが選択した入力の数に基づく条件付きパネル
a <- c("A","B","C")
Choices <- as.character(a)
ui <- fluidPage(
fluidRow(
selectInput(inputId = "numfields", label = "Select Entries", choices = Choices, multiple = TRUE, selectize = TRUE),
conditionalPanel(
condition = "count(input$numfields) >= 1",
textInput(inputId = "field1", label = "First One", value = "")
),
conditionalPanel(
condition = "count(input$numfields) >= 2",
textInput(inputId = "field2", label = "Second One", value = "")
),
conditionalPanel(
condition = "count(input$numfields) >= 3",
textInput(inputId = "field3", label = "Third One", value = "")
)
)
)
server <- function(input, output, session)
{}
shinyApp(ui=ui, server=server)
また、関連するノートでは、自動的にデフォルトでは、multiple = TRUEのselectInputフィールドにはエントリが選択されていません。 multiple = FALSEのときと同じように最初のエントリを選択させる方法はありますか?
ご協力いただきありがとうございます。
このソリューションは、 '.subset2(x、" impl ")エラーでエラークラッシュします。$ outputOptions(name、...): チェックは出力オブジェクトのリストにありません。あなたのマシンで動作しますが、私のものではありませんか? – User247365
私は編集をしました。私はちょっとリファクタリングを行いました。しかし、 'outputOptions(output、 'check'、suspendWhenHidden = FALSE)はリアクション関数の後に来なければなりません。学んだsmthg :)。 – BigDataScientist
これで、意図したとおりに動作し、正しいものとしてマークしています。これは、項目の1つが選択されるまで、他の回答がすべてのフィールドに入力されるためです。 – User247365