Soru Varsayılan seçim yok


Aşağıdaki satırları okuyorum http://cran.r-project.org/web/packages/shiny/shiny.pdf,

"selected" Gezinme öğesinin değeri (veya hiçbiri sağlanmadıysa, başlık) varsayılan olarak seçilmelidir. NULL ise, ilk navigasyon seçilecektir. "

Seçim listesinden herhangi bir değer seçmek istemediğimde, kimsenin bildiği bir şey var mı? Aslında, seçtiğim değer varsayılan olarak seçiliyor ve uygulamanın bir bölümü de otomatik olarak yürütülüyor. Yani başlangıçta herhangi bir değer seçmek istemiyorum. Select = için vermem gereken belirli bir özellik var mı?

====> Aslında, hiçbir şeyin otomatik olarak seçilmesini istemiyorum. Kodun altında kullandım ama hala listeden firsst kullanılabilir değerini seçiyor. Boş olmasını ve istediğimizi seçebilmeyi istiyorum.

output$Choose_App <- renderUI({
selectInput("app",
            "Select App:",
            choices = as.character(mtrl_name),
            selected = NULL ,
            multiple = FALSE
           )
        })

====> Geçtim http://cran.r-project.org/web/packages/shiny/shiny.pdf ve aşağıda yorum gördüm. Birden çok = TRUE seçtiğimde boş bırakılabileceği anlamına gelir. Eğer Yanlışsam beni düzelt.

Birden çok = TRUE olarak değiştirdiğimde, istediğim varsayılan olarak seçilmiyor ancak herhangi bir seçim yapmadan önce aşağıdaki hata iletisini alıyorum: ERROR: bad 'file' argument

Eğer yanlış bir şey yapıyorumsa, bunu bilen var mı? Ama bu dosyayı seçersem hata gider.

enter image description here

Bunun için aşağıdaki kodu kullanıyorum:

# server.R
setwd("/opt/shiny-server/samples/sample-apps/P-Dict_RDS2")
mtrl_name <- try(system("ls | grep -i .rds", intern = TRUE))

shinyServer(function(input, output) {

# First UI input (Service column) filter clientData 
output$Choose_Molecule <- renderUI({
selectInput("molecule",
            "Select Molecule:",
            choices = as.character(mtrl_name),
            selected = input$molecule,
            multiple = TRUE
           )
        })

18
2018-06-12 03:26


Menşei




Cevaplar:


İlk seçimi boş olarak ayarlamak için bazı özel seçim seçenekleri ile seçim girişi yerine giriş seçkisini kullanabilirsiniz. Bir örnek Parlak Galeri'de verilmiştir. Özellikle, örnek 6'ya bakınız.

# make sure you have shiny >= 0.9.1
selectizeInput(
  'e6', '6. Placeholder', choices = state.name,
  options = list(
    placeholder = 'Please select an option below',
    onInitialize = I('function() { this.setValue(""); }')
  )
)

BTW, hata için "ERROR: bad 'file' argument", Uygulamanızın kaynak kodunu görmeden herhangi birinin size yardımcı olabileceğini düşünmüyorum ve bu ayrı bir soru olabilir.


11
2018-06-15 22:25





Benzer bir sorunla karşı karşıya. Bulduğum çözüm, @ MKa'nın yanıtını temel alıyor. Kodunuz birden çok değeri işleyemiyorsa çoklu = T ayarlamak istemezsiniz. Önerdiğim:

selectInput("molecule",
            "Select Molecule:",
            choices = c("",as.character(mtrl_name)),
            selected = NULL,
            multiple = F
           ) 

Ve seçilen değeri almak için:

if(!is.null(input$molecule))
{
  if(nchar(input$molecule)>1)
  {
    #do your thing..
  }
}

Sorunumu çözdüm. Daha iyi bir çözüm bulursanız haber verin.


8
2018-02-04 02:10





Seçim listenize boş bir dize ekleyerek etrafta dolaşabileceğinizi düşünüyorum:

selectInput("app", 
"Select App:", 
choices = c("", as.character(mtrl_name)), 
selected = NULL, 
multiple = FALSE)

6
2017-10-01 01:48