在selectInput()中强制不进行默认选择 [英] Force no default selection in selectInput()
本文介绍了在selectInput()中强制不进行默认选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
闪亮的documentation提到selectInput()
:
selected
默认情况下应选择的导航项目的值(如果未提供,则为标题)。如果为空,将选择fiRST导航。
如果默认情况下我不想从选择列表中选择任何值,该怎么办?
实际上我的选择值是默认选择的,APP的睡觉部分会自动执行。但是我一开始不想选择任何值。要执行此操作,我应该向selectInput()
中的selected
参数提供什么?
实际上,我不希望自动选择任何内容。我使用了下面的代码,但它仍然从列表中选择第一个可用值。我希望默认情况下没有选择,这样用户就可以选择任何选项。
output$Choose_App <- renderUI({
selectInput("app",
"Select App:",
choices = as.character(mtrl_name),
selected = NULL ,
multiple = FALSE
)
})
浏览documentation时,我注意到只有当我选择
multiple=TRUE
时,选择才能为空。这是正确的吗?
当我更改为multiple=TRUE
时,默认情况下它不会被选中,而这正是我想要的。但不幸的是,在进行任何选择之前,我还收到以下错误信息:
ERROR: bad 'file' argument
如果我做错了什么,有没有人知道这件事?但是如果我选择此文件,错误就会消失。
我为此使用了以下代码:
# 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
)
})
推荐答案
您可以使用选择输入代替选择输入,并使用一些自定义选择选项将初始选择设置为空。An example已在闪亮的画廊中提供。具体来说,请参阅示例#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(""); }')
)
)
顺便说一下,对于错误"ERROR: bad 'file' argument"
,如果没有看到您的应用的源代码,我认为任何人都无法帮助您,这可能是另一个问题。
这篇关于在selectInput()中强制不进行默认选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文