【发布时间】:2019-10-03 16:09:52
【问题描述】:
我想做一些事情:有actionLink a和actionLink b。他们可以触发 UpdateNumericInput() 分配一些权重。我还可以手动更改 UI 中 numericInput() 的权重。我想实现的是,当单击 actionLink a 时,文本输出将是“单击 a”,而 actionLink b 发生的事情与“单击 b”相同。当我实际在 UI 上编辑权重时,我还希望文本输出显示为“手动更改权重”。有没有办法实现这一点?
#triggered by actionLink a
apply_a_weights = observeEvent(input$a_weight_link, {
v_a = get_a_weights()
v_a = setNames(as.double(unname(v_a)), names(v_a))
for (nm in names(v_a)) {
updateNumericInput(session, nm, value = v_a[[nm]])
}
output$selected_weight <- renderUI({HTML("You have changed to <B>a weight</B>")}) }, priority = 1)
# triggered by actionLink b
apply_b_weights = observeEvent(input$b_weight_link, {
v_b = df_dmd$b_weights
names(v_b) = df_dmd$input_id
for (nm in names(v_b)) {
updateNumericInput(session, nm, value = v_b[[nm]])
}
output$selected_weight <- renderUI({HTML("You have changed to <B>b weight</B>")})}, priority = 1)
我也试过把这部分放在server.R中作为默认的文本输出:
output$selected_weight <- renderUI({HTML("<B>manually</B> changed the weights")})
但是这些代码不起作用。当我自己更改权重时,“手动更改权重”不会出现。
非常感谢
【问题讨论】:
标签: r shiny actionlink