يا عميد ،
شكرا لحزمتك الرائعة. أعتقد أنه سيكون من المفيد أن تقوم الوظيفة reset()
بإعادة تعيين الأزرار اللاسلكية إلى الحالة التي لا يوجد بها زر محدد (ما يمكنك تحقيقه باستخدام selected = character(0)
.
أنا آسف ولكن shinyjs لن تدعم هذه الميزة حتى الإرادة اللامعة. ما أعنيه بذلك هو أنه يمكنك تحديث قيمة زر الاختيار باستخدام اللمعان (باستخدام updateRadioButtons()
) ، لكنه لا يسمح لك بتحديد أي شيء كقيمة. أيضًا إذا نظرت إلى الوثائق الخاصة بأزرار الاختيار ، فستجد صراحةً أن استخدام character(0)
ممكن ولكن لا يُنصح به بسبب استحالة العودة إلى تلك الحالة. لذلك أفضل أن أبقي في نفس الإطار اللامع ، ولا أقدم تلك الوظيفة.
إذا كان يجب عليك فعل ذلك ، فيمكنك استخدام renderUI(radioButtons(...))
إذا كنت تريد :)
daattali شكرا لهذه الحزمة الرائعة! اعتبارًا من 21 يومًا ، أصبح هذا السلوك مدعومًا بشكل صحيح الآن بشكل لامع: https://github.com/rstudio/shiny/commit/770ebc394f1685c2d4a1eb7fd2d1610796281b84 https://github.com/rstudio/shiny/issues/2266
تتم إعادة تعيين قيمة الإدخال إلى NULL
.
سيكون من الرائع لو استطاعت shinyjs دعم هذا الآن ، لماذا هذه الميزة مفيدة حتى لو لم يتمكن المستخدم من العودة إلى الحالة غير المحددة؟
أقوم بإنشاء تطبيق لامع لإدخال البيانات (القاطع) ، لتجنب المدخلات العرضية والمتأخرة من الحالات / الملاحظات السابقة ، قمت بمسح جميع مربعات الراديو ، والتي أيضًا زر الإرسال disable
s (شكرًا shinyjs 😁).
أ
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))
})
}
)
}
شكرا على إعلامي. سأعيد فتح المشكلة ، لكنني لا أعرف متى / إذا كنت سألتف للعمل على هذه الميزة. أود أن أرحب العلاقات العامة
التعليق الأكثر فائدة
شكرا على إعلامي. سأعيد فتح المشكلة ، لكنني لا أعرف متى / إذا كنت سألتف للعمل على هذه الميزة. أود أن أرحب العلاقات العامة