2017-02-02 12 views
0

Я использую пакет shinyTree и его флажок.Как ограничить один выбор флажка в shinyTree R

library(shiny) 
    library(shinyTree) 

    server <- shinyServer(function(input, output, session) { 
     # Defining lists inside list and rendering it in the shinyTree 
     output$tree <- renderTree({ 
     list(
      root1 = "123", 
      root2 = list(
      SubListA = list(leaf1 = "", leaf2 = "", leaf3=""), 
      SubListB = structure(list(leafA = "", leafB = ""),stselected=TRUE) 
     ) 
     ) 
     }) 
    }) 

    ui <- shinyUI(
     pageWithSidebar(
     # Application title 
     headerPanel("shinyTree with checkbox controls"), 
     sidebarPanel(
     mainPanel(
      # Show a simple table with checkbox. 
      shinyTree("tree", checkbox = TRUE) 
    )) 
    ) 

shinyApp(ui, server) 

При запуске вышеуказанного кода при выборе подслова B его дочерний элемент также выбирается.

SublistB was selected but the child leafA and leafB also are selected

Как я могу выбрать только subListB, а не выбирать его листья.

ответ

0

Я не знаю прямого пути, но, как план B, у вас может быть определенный ребенок этого узла. Вы должны указать имя, которое будет представлять его родительский элемент, который вы можете выбрать, не выбрав другой children/leaf.

SubListA = list(leafSLA = "SubListA", leaf1 = "", leaf2 = "", leaf3=""), 
SubListB = structure(list(leafSLB = "SubListB", leafA = "", leafB = ""),stselected=TRUE)