我正在构建一个有光泽的应用程序,但是从我的工作开始就有一些我不明白的东西。我想知道如何在服务器函数中使用输入变量而不将它们放在renderSomething ...
中例如,这是我在服务器功能中的一小部分代码:
server <- function(input,output){
output$text <- renderText({"My text"})
updating <- reactive( {if (input$nbenfants==0){
updateNumericInput(session,"n2",value=0)
updateNumericInput(session,"n3",value=0)
updateNumericInput(session,"n4",value=0)
updateNumericInput(session,"n5",value=0)
updateNumericInput(session,"n6",value=0)
updateNumericInput(session,"n7",value=0)
updateNumericInput(session,"n8",value=0)
}})
如果条件输入$ nbenfants == 0为true,我想更新一些参数。但我无法弄清楚如何“储存”结果?当我尝试在(updates())之后调用该函数时,R返回错误:
.getReactiveEnvironment()$ currentContext()中的错误: 没有活动的反应上下文,不允许操作。 (你试图做一些只能在反应式表达式或观察者内部完成的事情。) 错误:[on_request_read]连接由对等方重置 错误:[on_request_read]连接由peer重置
答案 0 :(得分:0)
我认为你应该使用observeEvent在输入$ nbenfant值改变时动作:
server <- function(input,output){
output$text <- renderText({"My text"})
observeEvent(input$nbenfant,{
if(input$nbenfant ==0) {
updateNumericInput(session,"n2",value=0)
updateNumericInput(session,"n3",value=0)
updateNumericInput(session,"n4",value=0)
updateNumericInput(session,"n5",value=0)
updateNumericInput(session,"n6",value=0)
updateNumericInput(session,"n7",value=0)
updateNumericInput(session,"n8",value=0)
}})
希望能够发挥作用
Gottavianoni