0

フォルダーの選択に基づいてボタンを非表示および表示しようとしています。シナリオは、ユーザーがフォルダーを選択するとボタンが表示されるか、ボタンが非表示になるはずです。私は、 shinyjsパッケージを使用して同じことを達成しようとしています。ここに私が書いたコードがあります:

library(shiny)
library(shinyTree)
library(shinyjs)

ui <- shinyUI(
pageWithSidebar(
# Application title
headerPanel("shinyTree with 'selected' input"),

sidebarPanel(
  helpText(HTML("An example of using shinyTree's <code>get_selected</code> function to extract the cells which are currently selected.
                <hr>Created using <a href = \"http://github.com/trestletech/shinyTree\">shinyTree</a>.")),

  actionButton('submit','SUBMIT')

),
mainPanel(
  "Currently Selected:",
  verbatimTextOutput("selTxt"),
  hr(),
  shinyTree("tree")
)
))

server <- shinyServer(function(input, output, session) {
log <- c(paste0(Sys.time(), ": Interact with the tree to see the logs   here..."))

output$tree <- renderTree({
list(
  root1 = structure("123"),
  root2 = list(
    SubListA = list(leaf1 = "", leaf2 = "", leaf3=""),
    SubListB = list(leafA = "", leafB = "")
  )
 )
})

output$selTxt <- renderText({
tree <- input$tree
if (is.null(tree)){
  "None"
} else{
  unlist(get_selected(tree))

}})

observe({
if('leaf' %in% get_selected(input$tree)){
  shinyjs::show("submit")
}else{
  shinyjs::hide("submit")
}
})

})

shinyApp(ui, server)

非表示および表示機能を有効にするために、このコードで行う必要があるエラーまたは変更を提案してください。

4

1 に答える 1