0
アクションボタンを使用して、光沢のあるアプリケーションのUI要素にいくつかのプリセット値を読み込み、更新されたUIの出力をトリガーしたいと思います。下のアプリには2つのボタンがあります。 Print
は入力$ txtにあるものを出力に出力します。 preset
ボタンは、UI要素をプリセット値で更新し、その後この値を出力に出力する必要があります。所望の機能は、preset
の後にprint
を押すことと同じです。光沢のあるUI要素の反応順序
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
})
マイアプリは動的UI要素と、出力に使用されるフィルタリングされたデータフレームであり、その結果がモジュラーフィルタの多くを有します。したがって、フィルタリングされた正しいデータフレームを取得するには、出力を作成する前にUI要素自体をリフレッシュする必要があります。それが意味をなさないならば。それで、preset
の後にprint
を押すという動作を模倣することは可能ですか?