Shinyjs: redefinir para o estado "selecionado = caractere (0)" para os botões de rádio

Criado em 22 set. 2016  ·  3Comentários  ·  Fonte: daattali/shinyjs

Ei Dean,

obrigado pelo seu pacote incrível. Eu acho que seria útil se a função reset() pudesse redefinir os radioButtons para o estado que não tem nenhum botão selecionado (o que você pode conseguir usando selected = character(0) .

Comentários muito úteis

Obrigado por me avisar. Vou reabrir o problema, mas não sei quando / se irei trabalhar neste recurso. Eu daria as boas-vindas a um PR

Todos 3 comentários

Sinto muito, mas o Brightjs não suportará esse recurso até que o Brightjs o faça. O que quero dizer com isso é que com brilhante você pode atualizar o valor de um botão de rádio (usando updateRadioButtons() ), mas não permite que você selecione nada como o valor. Além disso, se você olhar a documentação para botões de rádio, ela diz explicitamente que usar character(0) é possível, mas desencorajado pela razão de que é impossível retornar a esse estado. Portanto, prefiro manter a mesma estrutura de brilho e não fornecer essa funcionalidade.

Se você realmente deve fazer isso, você pode usar um renderUI(radioButtons(...)) se quiser :)

@daattali Obrigado por este ótimo pacote! Há 21 dias, esse comportamento agora é compatível com o brilhante: https://github.com/rstudio/shiny/commit/770ebc394f1685c2d4a1eb7fd2d1610796281b84 https://github.com/rstudio/shiny/issues/2266
O valor de entrada é redefinido para NULL .

Seria bom se brilhantejs pudesse suportar isso agora, por que esse recurso é útil mesmo se o usuário não puder retornar ao estado não selecionado?
Estou criando um aplicativo brilhante para entrada de dados (categóricos), para evitar entradas acidentais e persistentes de casos / observações anteriores, eu limpo todas as caixas de rádio, que também disable s o botão de envio (obrigado brilhantejs 😁).

UMA

library(shiny) # > 1.5.0
library(shinyjs)

  shinyApp(
    ui = fluidPage(
      useShinyjs(),
      div(
        id = "form",
        radioButtons("gender", "Gender", c("Male", "Female"), selected = character(0))
      ),
      actionButton("resetGender", "Reset Gender"),
    ),
    server = function(input, output, session) {

      observeEvent(input$resetGender, {
        updateRadioButtons(session, "gender", selected = character(0))
      })

      observe(print(input$gender))

      })
    }
  )
}

Obrigado por me avisar. Vou reabrir o problema, mas não sei quando / se irei trabalhar neste recurso. Eu daria as boas-vindas a um PR

Esta página foi útil?
0 / 5 - 0 avaliações