renderUI() 'ın reaktivite ile ilgili sorunlar Seçenek 2 "çalışıyor. Etkin olan "# Seçenek 1" ile, rastgele dize yazmayı ve düğmesine basmayı deneyin. İlk kez metin kutusunda "abc" ile yer değiştirir, ancak sonraki tüm zamanlar olmaz.Parlak - Ben R. içinde</p> Ben neden çalışmıyor '# Seçenek 1' server.R içinde anlamaya çalışan, ancak yorumladı am <p>"# Parlak paketi ile sorun yaşamaya
Anlayışımda val() zaten $ change girişine bağlıdır, bu yüzden düğmeye her basıldığında yeniden çalıştırılmalı, ayrıca "# Option 2" isolate() içine sarılır, böylece eklenmez herhangi bir reaktivite.
Aslında "# Seçenek 1" kullanıldığında, değer kısmen "abc" olarak değişir. Google Chrome'un inceleme öğesini açtığınızda, "# Option 2" düğmesinin her basıldığında, "# Option 1" değerinin de değeri "abc" olarak değiştirdiğini ancak ekranın yalnızca düğme ile güncellendiğini görebilirsiniz. ilk kez basıldı.
require(shiny)
shinyServer(function(input, output) {
val <- reactive({
if(input$change>0) {
# Option 1
'abc'
# # Option 2
# isolate({
# paste('abc',input$txt,"")
# })
} else {
''
}
})
output$textbox <- renderUI({
textInput("txt","Text",val())
})
})
ui.R orada bir yerde gizlenmiş bir hata olabilir gibi bu görünüyor
require(shiny)
require(shinyIncubator)
shinyUI(pageWithSidebar(
headerPanel('Test'),
sidebarPanel(
uiOutput("textbox"),
actionButton("change", "Change")
),
mainPanel(
)
))
Teşekkürler! Metin giriş değerinin sonunda bir boşluk ekleyerek ve giriş değeri sonunda bir boşluk varsa bir alanı kaldırarak sorunu çözdüm, böylece yeni değer her zaman bir öncekinden farklı olacaktır. Zaten tüm gelen dizeleri kırpıyorum. – user1603038