最後にクリックされたボタンこのコードトラック:多くのボタンを持つlapplyと
library(shiny)
ui <- shinyUI(fluidPage(
titlePanel("Track last clicked Action button"),
sidebarLayout(
sidebarPanel(
actionButton("first", "First"),
actionButton("second", "Second"),
actionButton("third", "Third")
),
# Show a plot of the generated distribution
mainPanel(
textOutput("lastButtonCliked")
)
)
))
server <- shinyServer(function(input, output) {
rv <- reactiveValues(lastBtn = character())
observeEvent(input$first, {
if (input$first > 0) {
rv$lastBtn = "first"
}
})
observeEvent(input$second, {
if (input$second > 0) {
rv$lastBtn = "second"
}
})
observeEvent(input$third, {
if (input$third > 0) {
rv$lastBtn = "third"
}
})
output$lastButtonCliked <- renderText({
paste("Last button clicked: ", rv$lastBtn)
})
})
# Run the application
shinyApp(ui = ui, server = server)
バージョン。クレジットは@Victorpとthis answerに行きます。
これはコードです:
library("shiny")
ui <- fluidPage(
fluidRow(
column(
width = 6,
lapply(
X = 1:5,
FUN = function(i) {
actionButton(inputId = paste0("button", i), label = paste("Button ", i))
}
)
),
column(
width = 6,
textOutput("lastButtonCliked")
)
)
)
server <- function(input, output){
rv <- reactiveValues(lastBtn = character())
lapply(
X = 1:6,
FUN = function(i){
observeEvent(input[[paste0("button", i)]], {
if (input[[paste0("button", i)]] > 0) {
rv$lastBtn = paste0("button", i)
}
})
}
)
output$lastButtonCliked <- renderText({
paste("Last button clicked: ", rv$lastBtn)
})
}
shinyApp(ui = ui, server = server)
ありがとうございました。また、selectInputボタンで現在選択されている値を保存する方法についても説明できますか?私がselectInputとactionButton 'Save'を持っているとします。 'Save'をクリックするたびに、selectInputに現在選択されている値をupdateSelectInputとして保存したいのですが、それを追加できますか?あなたが望むなら、私は新しい質問を追加することができます。 – user3463225
あなたは何をしたいの更新を参照してください? – Batanichek
私は選択肢= c(1:5)、選択肢= 1を持っていて、選択した値を4に変更して「保存」をクリックした場合、selectInputボタンはその選択値を4に更新する最後に選択した値を保存する前に選択してください) – user3463225