Shiny 使用插入ui时隔离模块中的输入
我想创建几个使用输入参数的ui。问题是,创建的新UI仍然对输入做出反应,即使我放置了一个隔离() 正确的行为将创建一个自定义UI,并与来自selectInput()的新输入隔离 例如,我希望第一个用户界面选择2019年,第二个用户界面选择2020年。 在这里我们可以看到,添加2020将在每个错误的UI中改变Shiny 使用插入ui时隔离模块中的输入,shiny,module,Shiny,Module,我想创建几个使用输入参数的ui。问题是,创建的新UI仍然对输入做出反应,即使我放置了一个隔离() 正确的行为将创建一个自定义UI,并与来自selectInput()的新输入隔离 例如,我希望第一个用户界面选择2019年,第二个用户界面选择2020年。 在这里我们可以看到,添加2020将在每个错误的UI中改变 库(闪亮) customplotUI也许我误解了您试图实现的目标,但是当我运行代码时,将注释行与isolate一起使用似乎可以正常工作 我猜在创建最小的reprex(谢谢你这么做!)时,你
库(闪亮)
customplotUI也许我误解了您试图实现的目标,但是当我运行代码时,将注释行与isolate
一起使用似乎可以正常工作
我猜在创建最小的reprex(谢谢你这么做!)时,你可能太小了,删除了另一个更新数据的reactive。如果您试图根据其他输入更新各个UI元素,但保持相同的筛选方案,则需要在renderPrint
语句之外捕获input$years
的当前值
在这里,您可以看到行的子集保持不变,但最后一列根据输入框进行更新:
...
id <- Id()('chart')
targetYears <- input$years
output[[id]] <- renderPrint({
data <- data.frame(year=c(2019,2020),
value=c("mtcars2019","mtcars2020"),
yrInput = paste(input$years, collapse =" "))
data[data$year %in% targetYears, ]
...
。。。
是的,我在寻找你提到的第二种行为。不知道为什么我以前没想到这个,哈哈。非常感谢您的详细解释!