Длина тестового вектора (JS) для использования с условной панелью (Shiny R)
0 Jordan Mackie [2015-07-13 20:04:00]
Я пытаюсь создать условную панель в Shiny на основе длины вектора ввода (символьной строки). В частности, у меня есть виджет fileInput (например, Id = FILEWIDGET
), и я хочу отображать условную панель, только если количество загруженных файлов <= 1. Я не говорю javascript, но условное выражение, написанное в R, будет выглядеть так::
conditionalPanel(condition = input$FILEWIDGET$name <= 1 , ...)
Надеюсь, это простой вопрос для тех, кто знаком с JS. Заранее спасибо.
javascript r shiny
1 ответ
0 Dean Attali [2015-07-15 01:09:00]
Я нашел выражение, чтобы положить в условную панель, чтобы она работала.
runApp(shinyApp(
ui = fluidPage(
fileInput("files","sdfsd", multiple = TRUE),
conditionalPanel("$('#files')[0].files.length <= 1", p("<= 1 files selected"))
),
server = function(input, output, session) {
}
))
Однако это немного неудобно, потому что он не использует обычный блестящий формат состояния "input.files...", и вместо этого я использую jQuery для этого условия. Я не знаю, скажут ли блестящие разработчики, что это хорошо, или если они скажут это плохо. Файлы обрабатываются странным образом в Shiny, и использование input.files.files.length
, похоже, не работает, поэтому мне пришлось вернуться к jQuery