r - R闪亮的应用程序一个按钮重新呈现整个用户界面
问题描述
这是我的代码示例
# I have a list of reactive elements
comparisons_list <- reactiveValues(elements = list(), size = 0)
# I have a reactive conductor using that elements list
KPI_reactive_elements <- reactive({
# maybe iterate through the input fields instead of
comparisons_list$elements %>%
lapply(function (el) {
KPIs %>%
filter(ORDER_DATE >= input[[el$id]][1], ORDER_DATE <= input[[el$id]][2]) %>%
arrange(ORDER_DATE) %>%
mutate(group_name = el$name)
}) %>%
bind_rows()
})
我还有一个不同日期范围的用户界面,这些用户界面会根据反应比较列表而变化
fluidPage(
fluidRow(
column(width=12, class="text-center",
actionButton("addComparison", "Add Comparison", class="btn btn-primary"), br(),
tags$ul(class="list-group unstyled list-unstyled", br(), renderUI({
tagList(
comparisons_list$elements %>%
lapply(function (el) tags$li(class="list-item",
dateRangeInput(el$id,
el$name,
start = el$start,
end = el$end,
format = "mm/dd/yy",
separator = " - "),
)))
})
), renderUI({
if(comparisons_list$size > 0) {
div(
selectInput("compare_field", "",
choices = COMPARE_FIELDS, selected = DEFAULT_COMPARE_FIELD),
actionButton("clearComparisons", "Clear Comparisons", class="btn btn-warning")
)
} else {
div()
}
})
)))
我有一个按钮事件监听器来添加新的比较
observeEvent(input$addComparison, {
comparisons_list$size <- comparisons_list$size + 1
comp_id <- paste0("comparison_", comparisons_list$size)
print(comp_id)
comparisons_list$elements[[comp_id]] <- list(
start = Sys.Date() - 31,
end = Sys.Date() - 1,
index = comparisons_list$size,
name = paste0("Comparison ", comparisons_list$size),
id = comp_id
)
})
最后我有一个显示我的数据的 HighCharter 折线图
renderHighchart({
field <- gsub("_", " ", input$compare_field)
comparisonTooltip <- paste(field, " is <b>{point.y}</b> on <b>{point.ORDER_DATE}</b>")
if (comparisons_list$size > 0) {
KPI_comparisons() %>%
arrange(ORDER_DATE) %>%
hchart(type="line", hcaes(y = !!input$compare_field, group=group_name)) %>%
hc_tooltip(crosshairs = TRUE, borderWidth = 1.5,
headerFormat = "", pointFormat = comparisonTooltip) %>%
hc_add_theme(hc_theme_monokai())
}
})
我的问题是,当单击Add Comparison
按钮时,会重新呈现输入 ui 以及图表。
这是按钮事件侦听器的问题还是其他问题?
提前致谢!
解决方案
推荐阅读
- microsoft-teams - 使用 API 列出 MS Teams 'Team' 中的频道名称以及每个频道的关联 'incoming-webhooks' url
- react-native - 使用 Telethon 获取电报个人资料照片
- javascript - AntD rowSelection 功能组件
- c - 仅使用单精度浮点在 [0,pi] 上逼近余弦
- ios - 使用全局变量和常量是一种好习惯吗?(斯威夫特 5)
- android - 华为推送套件:令牌在华为手机上返回为空
- docker - 无法通过 docker 中的 ssh 连接到 Corda 节点
- jquery - 如何用正确的 jquery 3.x 代码替换 thise .live 函数代码?
- javascript - 离子:在离子菜单中隐藏背景
- clickhouse - Clickhouse 中的 AggregateFunction 与 simpleAggregateFunction