ShinyUI 要素に対して無効化/有効化機能を実装する方法を探しています。ここで xiaodaighは、an を無効/有効にする方法のヒントを提供しますactionButton(下の画像を参照numericInput)。
(私はconditionalPanel機能を知っていますが、これは私が望む効果ではありません。)
特に私はあまり詳しくないので、何か提案をいただければ幸いですJavaScript。

質問でリンクしているコードが他の入力ウィジェットで機能しない理由は、入力ウィジェットが異なれば、無効にするために異なる JavaScript 呼び出しが必要になるためです。もう 1 つの問題は、shiny が入力要素を作成するときに、指定した ID が実際の HTML 入力タグの ID である場合があり、その ID が入力タグのコンテナーに与えられる場合があることです。
Shinyjsパッケージには、任意の光沢のある入力でそのまま機能する機能disableがあります。免責事項: 私はそのパッケージを書きました。
numericInputあなたが尋ねたように無効にする方法は次のとおりです
library(shiny)
runApp(shinyApp(
ui = fluidPage(
shinyjs::useShinyjs(),
numericInput("test", "Test", 5),
actionButton("submit", "Choose")
),
server = function(input, output, session) {
observeEvent(input$submit, {
shinyjs::disable("test")
})
}
))
特定の条件が FALSE のときに要素が「消える」場合はどうでしょうか。
これがあなたの意図である場合は、これをサーバーに追加できます.R
output$sliderInputUI <- renderUI({
if (condition == TRUE) {
sliderInput("id", "text",
min = 1, max = 8,
value = 1, step = 1
)
}
})
これを ui.R htmlOutput("sliderInputUI") に追加します
sliderInput条件がTRUEの場合にのみUIに表示されます。