仅在rshiny中第一次按下按钮时执行功能
在我闪亮的应用程序中,我有一个仅在rshiny中第一次按下按钮时执行功能,r,shiny,R,Shiny,在我闪亮的应用程序中,我有一个渲染,我只想在单选按钮更改值后执行,但这只是第一次发生。有没有办法让它对第一次值的变化做出反应,而不是随后的变化?下面你会发现,observeEvent有一些参数,比如ignoreInit和once,我建议你去看看官方网站上的函数定义。我还添加了shinyjs库及其disable功能,我认为这在这里很方便 rm(list=ls()) library(shiny) library(shinyjs) ui <- fluidPage( useShinyjs()
渲染
,我只想在单选按钮更改值后执行,但这只是第一次发生。有没有办法让它对第一次值的变化做出反应,而不是随后的变化?下面你会发现,observeEvent
有一些参数,比如ignoreInit
和once
,我建议你去看看官方网站上的函数定义。我还添加了shinyjs
库及其disable
功能,我认为这在这里很方便
rm(list=ls())
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
radioButtons("nums", "Will Execute only Once",c("1000" = 1000,"10000" = 10000), selected = 0),
plotOutput("Plot")
)
server <- function(input, output) {
v <- reactiveValues()
observeEvent(input$nums, {
v$data <- rnorm(input$nums)
},ignoreInit = TRUE, once = TRUE)
output$Plot <- renderPlot({
if(is.null(v$data)){
return()
}
disable('nums')
hist(v$data)
box()
})
}
shinyApp(ui, server)
rm(list=ls())
图书馆(闪亮)
图书馆(shinyjs)
ui我建议添加一个简单的示例来说明您希望发生什么: