Вы не предоставляете воспроизводимый код, поэтому трудно угадать. Возможно, проблема в дублировании output$selected_weight
.
Определите reactiveVal
для хранения текста, который будет отображаться, например, в начале server
:
Text <- reactiveVal()
Затем в ваших двух observeEvent
удалите output$selected_weight
и выполните:
#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]])
}
Text("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]])
}
Text("You have changed to <B>b weight</B>")
}, priority = 1)
Наконец, за пределами observeEvent
s выполните
output$selected_weight <- renderUI({HTML(Text()})
Опять же, вы не предоставляете минимальный воспроизводимый код, поэтому я не уверенмой ответ дает то, что вы хотите.