Используя кнопку действия, я хотел бы загрузить некоторые предустановленные значения в элементы пользовательского интерфейса моего блестящего приложения и затем запустить вывод из обновленного пользовательского интерфейса. В приложении ниже есть две кнопки. Print
напечатает все, что есть на входе $ txt, на выход. Кнопка preset
должна обновить элемент пользовательского интерфейса с заданным значением и впоследствии распечатать это значение на выходе. Желаемая функциональность эквивалентна нажатию preset
, а затем print
.Порядок реактивности элементов блестящего пользовательского интерфейса
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textInput('txt','Text',value = ''),
actionButton('print','Print'),
actionButton('preset','preset')
),
mainPanel(
verbatimTextOutput("outText")
)))
server <- function(input, output,session) {
values <- reactiveValues(text='')
observeEvent(input$print,{
values$text <- input$txt
})
observeEvent(input$preset,{
presetVal <-'Some preset value'
session$sendInputMessage('txt', list(value = presetVal))
})
output$outText <- renderPrint({
print(values$text)
})
}
shinyApp(ui, server)
Так почему бы не просто сделать это?
observeEvent(input$preset,{
presetVal <-'Some preset value'
session$sendInputMessage('txt', list(value = presetVal))
values$text <- presetVal
})
Мое приложение имеет много динамических элементов пользовательского интерфейса, а также модульных фильтров результатом которого является отфильтрованный кадр данных, который используется в выходных данных. Поэтому, чтобы получить правильный фильтрованный фрейм данных, сами элементы пользовательского интерфейса должны быть обновлены до создания вывода. Если это имеет смысл. Так можно ли подражать действию нажатия preset
, а затем print
?