Блестящая кнопка действия на панели инструментов

У меня есть блестящая приборная панель с кнопкой реактивного действия, но эта кнопка не обновляет приборную панель.

У меня есть tabItems, разделенные на их собственные файлы и ссылки с использованием источника от ui.R.

Внутри tabItem содержится только следующий код.

  actionButton("go", "Go"),
  numericInput("n", "n", 50),
  plotOutput("plot")

Файл server.R также разделен и ссылается на каждый файл с помощью источника. Соответствующий файл содержит

    randomVals <- eventReactive(input$go, {
      runif(input$n)
    })

    output$plot <- renderPlot({
      hist(randomVals())
    })

Нажатие кнопки действия ничего не делает в ShinyDahsboard, но если я запускаю этот код как блестящее приложение, он работает нормально.


person Stephen Saidani    schedule 16.09.2015    source источник
comment
Я добавил кнопку отправки, и если я нажму кнопку действия, а затем кнопку отправки, график обновится. В отличие от без блестящей приборной панели, кнопка перехода просто обновляет сюжет.   -  person Stephen Saidani    schedule 16.09.2015


Ответы (1)


Вы должны isolate свою кнопку, например:

Изменить: согласно @tospig

rm(list = ls())
library(shiny)

shinyApp(
  ui=shinyUI(basicPage(
    actionButton("go", "Go"),
    numericInput("n", "n", 50),
    plotOutput("plot")
  )),
  server=shinyServer(function(input, output, session){

    randomVals <- eventReactive(input$go, {
      runif(input$n)
    })

    output$plot <- renderPlot({
      hist(randomVals())
    })
  })
)
person Pork Chop    schedule 16.09.2015
comment
Из с помощью кнопок действий - как и observeEvent(), eventReactive() изолирует блок кода в своем второй аргумент с isolate() - это означает, что вам не нужен isolate(), не так ли? - person tospig; 10.02.2016
comment
@tospig, ты прав, не надо этого делать. Я отредактировал свой ответ - person Pork Chop; 10.02.2016