버튼을 마지막으로이 코드 트랙은 클릭 :
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)
버전을 lapply로 많은 버튼. 크레딧은 @ 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'가 있다고 가정합니다. 각각의 '저장'클릭에 대해 selectInput에 현재 선택된 값을 updateSelectInput으로 저장하려고합니다. 추가 할 수 있습니까? 원한다면 새로운 질문을 추가 할 수 있습니다. – user3463225
업데이트 내용을 확인 하시겠습니까? – Batanichek
정확하지는 않지만 selectInput에 = c (1 : 5), selected = 1, 선택한 값을 4로 변경하고 '저장'을 클릭하면 selectInput 버튼이 선택한 값을 4로 업데이트합니다. 마지막으로 선택한 값 '저장'버튼 전에) – user3463225