使用“操作”按钮在R中设置小部件的值
基本上,我有一个基于日期时间的数据帧。有一些小部件根据设备运行情况控制绘图。选择日期时间后,绘图将自动更新,以显示设备在该点的运行情况。用户可以更改绘图以显示不同的设备排列。其想法是有一个操作按钮,根据用户选择的日期时间将小部件“重置”到当前选择的设备列表。下面是我的MRE使用“操作”按钮在R中设置小部件的值,r,shiny,R,Shiny,基本上,我有一个基于日期时间的数据帧。有一些小部件根据设备运行情况控制绘图。选择日期时间后,绘图将自动更新,以显示设备在该点的运行情况。用户可以更改绘图以显示不同的设备排列。其想法是有一个操作按钮,根据用户选择的日期时间将小部件“重置”到当前选择的设备列表。下面是我的MRE library(shiny) library(tidyverse) test_data <- c(TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE) ui <
library(shiny)
library(tidyverse)
test_data <- c(TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE)
ui <- fluidPage(
titlePanel("Action Button Test"),
sidebarLayout(
sidebarPanel(
numericInput("num", label = h3("Select Row:"), value = 4),
actionButton("action", label = "Reset State")
),
mainPanel(uiOutput('checkBox'))
)
)
server <- function(input, output) {
current_state <- reactive({
test_data[input$num]
})
output$checkBox <- renderUI({
checkboxInput("checkbox", label = "State", value = current_state())
})
observeEvent(input$action, {
current_state <- test_data[input$num]
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(tidyverse)
测试数据让复选框依赖于当前状态()
,我们可以通过第一个observeEvent(当前状态(),{…
)实现。重置部分我们只需使用第二个observeEvent(input$action)更新input$num
,{…
并且由于复选框已经依赖于当前状态()
它也将自动重置
library(shiny)
test_data <- c(TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE)
original_state <- 4
ui <- fluidPage(
titlePanel("Action Button Test"),
sidebarLayout(
sidebarPanel(
numericInput("num", label = h3("Select Row:"), value = original_state,max = length(test_data)),
actionButton("action", label = "Reset State")
),
mainPanel(
checkboxInput("checkbox", label = "State", value = test_data[original_state])
)
)
)
server <- function(input, output, session) {
current_state <- reactive({
test_data[input$num]
})
observeEvent(current_state(),{
updateCheckboxInput(session, "checkbox", value = current_state())
})
observeEvent(input$action, {
updateNumericInput(session,'num', value = original_state)
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
在observeEvent
中测试您需要的updateCheckboxInput
数据。尝试updateCheckboxInput(会话,“复选框”,值=4)
。用值替换所需值(即您的默认状态)。