Shinyjs: reset ke status "selected = character(0)" untuk radioButtons

Dibuat pada 22 Sep 2016  ·  3Komentar  ·  Sumber: daattali/shinyjs

Hai Dekan,

terima kasih untuk paket Anda yang luar biasa. Saya pikir akan berguna jika fungsi reset() dapat mengatur ulang radioButtons ke status yang tidak memiliki tombol yang dipilih (apa yang dapat Anda capai menggunakan selected = character(0) .

Komentar yang paling membantu

Terima kasih telah memberi tahu saya. Saya akan membuka kembali masalah ini, tetapi saya tidak tahu kapan/apakah saya akan menggunakan fitur ini. Saya akan menyambut PR

Semua 3 komentar

Maaf, tapi shinejs tidak akan mendukung fitur itu sampai mengkilap akan. Yang saya maksud dengan itu adalah bahwa dengan glossy Anda dapat memperbarui nilai tombol radio (menggunakan updateRadioButtons() ), tetapi itu tidak memungkinkan Anda memilih apa pun sebagai nilainya. Juga jika Anda melihat dokumentasi untuk tombol radio, secara eksplisit mengatakan bahwa menggunakan character(0) dimungkinkan tetapi tidak disarankan karena alasan tidak mungkin untuk kembali ke status itu. Jadi saya lebih memilih untuk tetap dalam kerangka yang sama mengkilap, dan tidak menyediakan fungsionalitas itu.

Jika Anda benar-benar harus melakukan ini, Anda dapat menggunakan renderUI(radioButtons(...)) jika Anda mau :)

@daattali Terima kasih untuk paket hebat ini! Pada 21 hari yang lalu, perilaku ini sekarang didukung dengan benar di glossy: https://github.com/rstudio/shiny/commit/770ebc394f1685c2d4a1eb7fd2d1610796281b84 https://github.com/rstudio/shiny/issues/2266
Nilai input diatur ulang ke NULL .

Alangkah baiknya jika shinyjs dapat mendukung ini sekarang, Mengapa fitur ini berguna bahkan jika pengguna tidak dapat kembali ke keadaan yang tidak dipilih?
Saya membuat aplikasi mengkilap untuk input data (kategoris), untuk menghindari input yang tidak disengaja dan tertinggal dari kasus/pengamatan sebelumnya, saya menghapus semua kotak radio, yang juga disable adalah tombol kirim (terima kasih shinejs 😁 ).

SEBUAH

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))

      })
    }
  )
}

Terima kasih telah memberi tahu saya. Saya akan membuka kembali masalah ini, tetapi saya tidak tahu kapan/apakah saya akan menggunakan fitur ini. Saya akan menyambut PR

Apakah halaman ini membantu?
0 / 5 - 0 peringkat