在selectInput()中强制不进行默认选择 [英] Force no default selection in selectInput()

查看:20
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆