[英]conditionalPanel javascript conditions in shiny: is there R %in% operator in javascript?
[英]Evaluating beyond input conditions in R Shiny conditionalPanel
我正在構建R Shiny儀表板,並嘗試實現conditionalPanels。 當然,我是JavaScript新手。 SO上有很多關於conditionalPanels
的文章,但是我見過的每一個都使用input.something
表達式中的input.something
,通常是這樣的:
conditionalPanel(
condition = "input.tabs == 'correlation'",
actionButton("generate_correlation", "Generate Heat Map")
)
我知道條件語句中的表達式是一個作為JavaScript表達式求值的字符串,但是我想知道是否有可能訪問除input
之外的其他變量和對象? 例如,它可以評估反應功能嗎? 我想按下一個按鈕,然后有條件地出現一個新選項卡。 我已經創建
tabPanel("Tab 1",
actionButton("dropColumnsComplete", "Next"))
然后,我在服務器端創建了一個反應式表達式來處理此問題:
dropColumnsComplete <- reactive(input$dropColumnsComplete,{
return(TRUE)
})
單擊按鈕會觸發input$dropColumnsComplete
事件,該事件應調用在調用dropColumnsComplete()
函數時返回TRUE
的反應式。 然后,我添加
conditionalPanel(condition = "dropColumnsComplete()",
tabPanel("Tab 2")
),
我希望按下該按鈕將導致出現選項卡2。 我知道我沒有正確訪問條件表達式內的dropColumnsComplete()
應該是document.dropColumnsComplete()
嗎? shiny.dropColumnsComplete()
? 令人驚訝的是缺少有關此方面的文檔,因此我對如何在JavaScript中訪問input$...
之外的變量感到困惑。
沒有理由編寫有條件的顯示/隱藏元素的反應式。 看看Dean Attali代替shinyjs
使用shinyjs
:
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
actionButton("show", "Click me once to show stuff!"),
actionButton("toggle", "Click me any times to toggle stuff!"),
hidden(
div(id = "d1",
"Content hidden until button is clicked"
)
),
hidden(
div(id = "d2",
"Content toggled when button is clicked"
)
)
)
server <- function(input, output) {
observeEvent(input$show, {
show("d1")
})
observeEvent(input$toggle, {
toggle("d2")
})
}
shinyApp(ui, server)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.