Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

157
Visualizações
¿Puedo forzar la carga de un shinyTree cuando se inicia la aplicación?

Resumen: cuando coloco un shinyTree (del paquete R del mismo nombre) en un botón dropdownButton (del paquete shinyWidgets ), parece que el árbol en cuestión no es accesible desde la variable de input hasta que el usuario haya interactuado con el árbol en de alguna manera ¿Hay alguna manera de forzar la carga del árbol cuando la aplicación se carga al principio?

Aquí hay un ejemplo mínimo (casi):

 library(shiny) library(shinyWidgets) library(shinyTree) library(magrittr) render.as.text <- function(t) { if (is.null(t)) { 'argument is NULL' } else { q <- get_selected(t) if (length(q) == 0) { 'none selected' } else { paste(q, sep=', ', collapse=', ') } } } ui <- fluidPage( dropdownButton(shinyTree('tree', checkbox=TRUE), circle=FALSE, inputId='dd') ) server <- function(input, output, session) { output$tree <- renderTree({ list(OptionA = structure(list(OptionAA='', OptionAB=''), stopened=TRUE), OptionB='') }) updateActionButton(session, 'dd', label='initial label') observe({ updateActionButton(session, 'dd', label=render.as.text(input$tree)) }) %>% bindEvent(input$dd_state) } shinyApp(ui = ui, server = server)

Cuando ejecuto esta aplicación, el botón comienza con el texto 'etiqueta inicial' (como se esperaba), luego, cuando hago clic en él la primera vez, el texto cambia a 'el argumento es NULL' (lo que muestra que la variable input$tree tiene un NULL valor), pero el árbol se muestra correctamente en el menú desplegable. Si luego vuelvo a hacer clic en el botón para cerrar el menú desplegable, el texto 'el argumento es NULL' permanece; permanece hasta que realmente seleccione una o más de las casillas de verificación del árbol, después de lo cual (y después de hacer clic en el botón nuevamente) mostrará una coma -lista separada de opciones seleccionadas o 'ninguna seleccionada' como se esperaba.

Me gustaría mucho poder referirme a input$tree comenzando con la primera vez que el usuario realiza alguna acción en la aplicación; idealmente, estoy buscando algún comando para insertar en el servidor o en el código ui (o ambos) que significa que la primera vez que el usuario hace clic en el botón, su texto cambiará directamente a 'ninguno seleccionado' porque input$tree ya no es NULL . es posible?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

¿Simplemente cambiar el valor predeterminado de su función render.as.text funcionaría para su propósito?

 library(shiny) library(shinyWidgets) library(shinyTree) library(magrittr) render.as.text <- function(t) { if (is.null(t)) { 'none selected' } else { q <- get_selected(t) if (length(q) == 0) { 'none selected' } else { paste(q, sep=', ', collapse=', ') } } } ui <- fluidPage( dropdownButton(shinyTree('tree', checkbox=TRUE), circle=FALSE, inputId='dd') ) server <- function(input, output, session) { output$tree <- renderTree({ list(OptionA = structure(list(OptionAA='', OptionAB=''), stopened=TRUE), OptionB='') }) updateActionButton(session, 'dd', label='initial label') observe({ updateActionButton(session, 'dd', label=render.as.text(input$tree)) }) %>% bindEvent(input$dd_state) } shinyApp(ui = ui, server = server)
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda