当我按下一个Action按钮时,我想以某种方式使两个输入相等。我的Shiny Dashboard中有几个选项卡,在某些选项卡中有重复数据输入。例如,在选项卡1中我们有一个AGE的输入,我们在选项卡2中有相同的输入。我想这样做,如果我输入一个年龄值并点击"运行" (一个动作按钮),然后它会自动使另一个标签中的年龄等于当前标签中的年龄。
我真的很擅长使用Shiny,所以我尝试使用反应命令,但我不确定它为什么不起作用:
reactive(
if(input$runbutton==0){
input$numeric1=input$numeric2
})
该代码无效,甚至不会返回错误。
答案 0 :(得分:3)
您应该使用updateNumericInput()
来更改输入的值。使用observeEvent()
跟踪按钮按下更有意义。这是一个简单的示例应用程序
ui <- fluidPage(
numericInput("numeric1","in1",1),
numericInput("numeric2","in2",2),
actionButton("runbutton", "set equal")
)
server <- function(input, output, session) {
observeEvent( input$runbutton, {
updateNumericInput(session, "numeric1", value=input$numeric2)
})
}
shinyApp(ui=ui, server=server)