正如我在这个网站上多次抱怨的那样(shinyTree: set variable to value if checkbox is checked , shinyTree: view without selection),严重缺乏关于shinyTree
.
考虑以下代码R
:
library(shiny)
library(shinyTree)
ui <- shinyUI(
shiny::fluidPage(
h4('Shiny hierarchical checkbox'),
shinyTree("tree", checkbox = TRUE),
# slider
sliderInput("slider_input",
"Slider",
min = 0,
max = 100,
value = 0,
step = 0.1,
width = '100%'),
width = 8)
)
server <- shinyServer(function(input, output, session) {
output$tree <- renderTree({
sss=list( 'I lorem impsum'= list(
'I.1 lorem impsum' = structure(list('I.1.1 lorem impsum'='1', 'I.1.2 lorem impsum'='2'),stopened=TRUE),
'I.2 lorem impsum' = structure(list('I.2.1 lorem impsum'='3'), stopened=TRUE)))
attr(sss[[1]],"stopened")=TRUE
sss
})
})
shinyApp(ui, server)
sliderInput
当且仅当I.1.1 lorem impsum
在树中被选中时,我才有兴趣出现。
我知道在使用checkboxGroupInput
s 时,我可以使用在闪亮的 conditionalPanel javascript 条件中找到的内容:javascript 中有 R %in% 运算符吗?. 这一切都很好而且很花哨,但是由于缺乏关于 的文档(以及该网站上没有提出的问题)shinyTree
,我不确定如何解决这个问题。我知道我需要使用 a ,但我不知道如何在函数conditionalPanel
的参数中引用树及其节点condition
。更复杂的是,树本身不在其中input
(因为input$
在声明它时它没有),据我所知,我无法引用output$
变量。
我确实知道condition
必须用 JavaScript 编写,但如果我不知道如何引用树及其节点,这将毫无用处。