【发布时间】:2019-03-06 22:04:30
【问题描述】:
我的modalDialog 的标题是一个reactiveValue。一旦在模态中更改了某个输入,我希望标题更改。我尝试了几种不同的方法,但无法让它无缝工作。标头要么不更新,仅在我关闭/重新打开模式时更新,或者在立即更新标头时导致模式完全重新渲染。
目前,我坚持最后一个(完全重新渲染模式)。但是,当我创建最小的、可重现的示例(如下)时,只有在我关闭并重新打开模式时,标题才会更新。
ui<-fluidPage(
actionButton(inputId="model", label="Edit Model")
)
server<-function(input, output, session) {
rv<-reactiveValues(header="Standard Model")
observeEvent(input$model, {
showModal(
modalDialog(
fluidPage(
fluidRow(h3(rv$header)),
sliderInput(inputId="factor_1", "Factor #1", value=70, min=0, max=100),
sliderInput(inputId="factor_2", "Factor #2", value=30, min=0, max=100)
),
footer=modalButton("Save Weights"), size="s", easyClose=TRUE
)
)
})
observe({if (!is.null(input$factor_1)) {
if (input$factor_1!=70) {
rv$header<-"Custom Model"
}
}
})
}
shinyApp(ui=ui, server=server)
基本上,一旦第一次更改因素 #1 的输入,我希望标题从“标准模型”更改为“自定义模型”(无需关闭/重新打开或重新呈现模态)。
【问题讨论】:
标签: r shiny modal-dialog