为什么将inputId添加到我闪亮的应用程序的pickerInput段中会破坏我的代码?

问题描述

opencv-python-headless==4.2.0.32

每当我取消注释inputId时,我都无法运行我的Shiny应用程序,这会给我这个错误

choicesOpt $ style中的错误:$运算符对原子向量无效

但是,从理论上讲,inputId是pickerInput的参数。为什么我不能明确命名呢?

解决方法

请注意,pickerInput期望的参数是

args(pickerInput)
function (inputId,label = NULL,choices,selected = NULL,multiple = FALSE,options = list(),choicesOpt = NULL,width = NULL,inline = FALSE) 

默认情况下,您要传递给函数的"chosenplans"的值将进入inputId=参数,因为这是它会匹配的第一个未命名参数。但是,当您添加inputId = "stateList"时,您似乎正在尝试添加第二个ID,但这意味着“ chosenplans”的值将传递给您尚未指定的第一个参数,这意味着label=参数和"Select State:"传递给chociesOpt=参数。这不是产生错误的choicesOpt的有效值。

问题是您标记了一些参数而不是其他参数,并指定了inputId=两种不同的方式,它们以意想不到的方式对参数进行混洗。