我有这个基本的闪亮应用程序,并且在“查看器”中快速运行,但是当我使用“在浏览器中打开”选项时,选择输入选项需要花费一些时间才能加载。
selectList <- sapply(1:15000, function(x) paste(sample(letters, 10), collapse = ''))
ui <- fluidPage(
selectInput('mylist', 'Select Something',
choices = c(Choose = '', selectList),
selected = 1)
)
server <- function(input, output) {
}
shinyApp(ui = ui, server = server)
根据这个主题-https: //groups.google.com/forum/#!topic/ shiny- discuss/doHpFM6ZOGg,此问题已在某些旧的私有分支中得到解决。我正在使用的最新安装是这个,我看到了速度慢的问题。
packageVersion('shiny')
[1] ‘0.13.2’
我必须做出任何选择以使其行为有所不同吗?
额外需求:
我还希望选定的输入取决于单选按钮输入,如下所示。但是,由于某种原因,我无法使服务器端选择输入以与单选按钮上的observeEvent一起使用。对我在做什么错有任何想法吗?
# mylist
selectList1 <- sapply(1:15000, function(x) paste0(x, "_", paste(sample(LETTERS, 10), collapse = '')))
selectList2 <- sapply(1:15000, function(x) paste0(x, "_", paste(sample(letters, 10), collapse = '')))
# ui
ui <- fluidPage(
selectizeInput(
inputId = 'mylist', label = 'Select Something',
choices = NULL,
selected = 1
),
radioButtons('letterType',
'Select a Letter Type:',
choices = c('Upper Case' = 'upper',
'Lower Case' = 'lower'),
selected = 'upper',
inline = TRUE)
)
# server
server <- function(input, output, session) {
selectListReactive <- reactive({
validate(need(is.null(input$letterType), FALSE))
if (input$letterType == 'upper')
selectList1
else
selectList2
})
observeEvent(input$letterType, {
updateSelectizeInput(session = session, inputId = 'mylist',
choices = c(Choose = '', selectListReactive()),
server = TRUE)
})
}
# app
shinyApp(ui = ui, server = server)
嗨,尝试将选择内容放入服务器中,updateSelectizeInput
并用于server = TRUE
在服务器端存储选择内容,例如:
library("shiny")
# mylist
selectList <- sapply(1:15000, function(x) paste0(x, "_", paste(sample(letters, 10), collapse = '')))
# ui
ui <- fluidPage(
selectizeInput(
inputId = 'mylist', label = 'Select Something',
choices = NULL,
selected = 1
)
)
# server
server <- function(input, output, session) {
updateSelectizeInput(session = session, inputId = 'mylist', choices = c(Choose = '', selectList), server = TRUE)
}
# app
shinyApp(ui = ui, server = server)
您必须使用,selectizeInput
而不是selectInput
为此工作
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句