Pytanie Brak domyślnego wyboru


Czytam poniżej linie z http://cran.r-project.org/web/packages/shiny/shiny.pdf,

"selected Wartość (lub jeśli nie podano, tytuł) elementu nawigacji, który powinien być wybrany domyślnie. Jeśli NULL, zostanie wybrana pierwsza nawigacja. "

Czy ktokolwiek wie, co powiedzieć, jeśli nie chcę wybierać żadnej wartości z listy wyboru? W rzeczywistości moja wybrana wartość jest domyślnie wybierana, a część odpoczynku jest automatycznie uruchamiana. Dlatego nie chcę początkowo wybierać żadnej wartości. Czy jest jakaś specyfika, którą muszę podać dla select =?

====> Właściwie to nie chcę, aby cokolwiek zostało wybrane automatycznie. Użyłem pod kodem, ale nadal wybieram najbardziej dostępną wartość z listy. Chcę, żeby było puste, a następnie możemy wybrać, co chcemy.

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

====> Przeszedłem http://cran.r-project.org/web/packages/shiny/shiny.pdf i zobaczyłem poniżej komentarz. Oznacza to, że może być puste tylko wtedy, gdy wybiorę multiple = TRUE. Popraw mnie, jeśli się mylę.

Kiedy zmieniłem na multiple = TRUE, to nie jest ono domyślnie wybierane, ale chcę, by przed dokonaniem wyboru pojawił się komunikat o błędzie: ERROR: zły argument "file"

Czy ktoś o tym wie, jeśli robię coś nie tak? Ale jeśli wybiorę ten plik, błąd zniknie.

enter image description here

Korzystam z następującego kodu:

# 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


pochodzenie




Odpowiedzi:


Możesz użyć wejścia do wyboru zamiast wejścia wyboru, z niektórymi niestandardowymi opcjami wyboru, aby ustawić początkowy wybór jako pusty. Przykład został dostarczony w Shiny Gallery. W szczególności zobacz przykład # 6.

# 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, za błąd "ERROR: bad 'file' argument"Nie sądzę, aby ktokolwiek mógł Ci pomóc bez obejrzenia kodu źródłowego aplikacji i może to być osobne pytanie.


10
2018-06-15 22:25





W obliczu podobnego problemu. Rozwiązanie, które znalazłem, opiera się na odpowiedzi @ MKa. Nie chcesz ustawiać multiple = T, jeśli twój kod nie obsługuje wielu wartości. Sugeruję to:

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

Aby pobrać wybraną wartość:

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

Naprawiono mój problem. Daj mi znać, jeśli znajdziesz lepsze rozwiązanie.


8
2018-02-04 02:10





Myślę, że możesz obejść go, dodając pusty ciąg do swojej listy wyboru:

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

6
2017-10-01 01:48