我在Shiny应用程序中使用submitButton
时遇到了问题(我使用的是一些耗时的渲染是由app-user提供的数据完成的)。我还使用一些radioButtons
和conditionalPanel
来定义用户可以选择参数的变量组。请参阅附图以获得想法(用户正在选择列表类型,并且 - 基于他的列表选择 - 显示特定列表(conditionalPanel
正在运行),用户从中选择参数< / strong>),或运行下面提供的可重新编写的示例。
当然,只有参数是在渲染输出时使用的值,我想强制submitButton
以自动方式传递 参数。问题是submitButton
也影响radioButtons
元素,它无法用于选择所需的值(因为值列表没有切换)。
问题:有没有办法通过submitButton
定义哪些UI元素是停止自动更新以解决我的问题?感谢您的任何帮助!
UI:
library(shiny)
shinyUI(pageWithSidebar(
headerPanel("Problem with submit button"),
sidebarPanel(
radioButtons("selectionway", "Choose list type", c(number='number', letter='letter')),
conditionalPanel(
condition = "input.selectionway == 'number'",
selectInput("numberlist", "Choose NUMBER:", choices = c("11111", "22222", "33333"))
),
conditionalPanel(
condition = "input.selectionway == 'letter'",
selectInput("letterlist", "Choose LETTER:", choices = c("A", "B", "C"))
),
submitButton("submitButton")
),
mainPanel(
verbatimTextOutput("list"),
verbatimTextOutput("value")
)
))
服务器
library(shiny)
shinyServer(function(input, output) {
selected.value <- reactive({
if(input$selectionway=="letter"){
return(input$letterlist)
} else {
return(input$numberlist)
}
})
output$list <- renderText({
input$selectionway
})
output$value <- renderText({
selected.value()
})
})