我正在寻找一种方法来阻止update*Input
个函数在我shiny 的应用程序中失效react 值.我希望update函数只更改可视化UI组件,而不是底层的被动值.
这里有一个reprex:
library(shiny)
ui <- fluidPage(
sliderInput("slide1", "Slider", min = 0, max = 10, value = 5),
sliderInput("slide2", "Slider2", min = 0, max = 10, value = 0),
textOutput("slide2_val")
)
server <- function(input, output, session) {
observe({
updateSliderInput(session, "slide2", value = input$slide1)
}) |>
bindEvent(input$slide1)
output$slide2_val <- renderText({
paste("Value of `slide2`:", input$slide2)
})
}
shinyApp(ui, server)
所需的行为是,值input$slide2
仅在用户与slide2交互时更改,但slider UI元素在与slide1或slide2交互时更改.
重要的是,这需要适用于各种input*
功能.监听点击事件对于selectInput
这样的输入不起作用(参见my related issue).