我正在编写一个Shiny App来收集输入并使用这些输入运行一个进程,然后提供各种输出,如表格和图表。
我需要控制过程功能的执行,直到按下一个动作按钮。我已经设置了初始代码并使用reactive()包装了该函数,但我不确定如何将其链接到操作按钮。
UI.R
library(shiny)
shinyUI(navbarPage(
title = 'Demo',
tabPanel('Inputs',textInput("city", "Enter a city"),
textInput("country", "Enter a country"),
actionButton("process", "Process")
),
tabPanel('Processing', textOutput('tab2'))
))
server.R
library(shiny)
shinyServer(function(input, output) {
proc <-reactive({processFunction(input$country, input$city)})
output$tab2 <- renderTable({proc()$table1})
})
如何控制执行的任何想法?
答案 0 :(得分:1)
我使用isolate()对其进行排序,并在操作按钮中添加依赖项。
output$tab2 <- renderText({
if (input$process == 0)
return()
isolate({ function call })
})