我有一个带有 的操作按钮id=do
,当单击操作按钮时,我希望更改名为 rhm_clic 的输入值。我现在有这个。
observeEvent(input$do,{
input$rhm_clic<-NULL
})
Run Code Online (Sandbox Code Playgroud)
jam*_*121 12
有一个使用 JS 的替代方案,我发现它在某些情况下非常有用。这使您不必使用这些update***input
功能。此外,输入甚至不需要事先定义。
library(shiny)
ui <- fluidPage(
tags$script("
Shiny.addCustomMessageHandler('rhm_clic', function(value) {
Shiny.setInputValue('rhm_clic', value);
});
")
# additional UI code
)
server <- function(input, output, session) {
observeEvent(input$do, {
session$sendCustomMessage("rhm_clic", 'null')
})
# Additional server code
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
这是 Joe Cheng 撰写的一篇好文章,阐述了如何使用这个框架。
小智 0
您无法通过这种方式更改闪亮创建的输入的值。对于input$
要更改的变量,需要通过实际输入过程(例如inputText()
或 )进行更改actionButton()
。从技术上讲,还有另一种方法,但这是一种未记录的解决方法,因此对于这个问题来说毫无意义。如果您需要使用类似于闪亮变量的反应变量,input$
则必须使用reactiveValues()
函数调用来创建一个。如果您只是为变量赋值,则不需要反应变量。如果您尝试将先前创建的值重置为 NULL,则必须创建一个反应变量并将其设置为 NULL。以下是如何使用按钮将非反应变量设置为值或 NULL。
actionButton("do","Putlabelhere")
observeEvent(input$do,{
rhm_clic <- value #or NULL
return(rhm_clic)
#the return is not needed but a good idea for beginners
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16611 次 |
最近记录: |