Eu tenho o aplicativo na parte inferior. Agora, tenho este campo predefinido onde posso selecionar entre 3 opções (+ a opção changed
). O que eu quero é poder definir o input_option com o campo predefinido. Mas também quero poder alterá-lo manualmente. Se eu alterar o input_option manualmente, o campo predefinido deve mudar para changed
. O problema é que, se eu definir a opção com o campo predefinido, isso aciona automaticamente a segunda função e define o input_preset de volta para changed
. Mas isso só deve acontecer se eu alterá-lo manualmente, não se for alterado pela primeira função reativa. Isso é possível de alguma forma? Tentei um pouco com reactive.isolate()
, mas isso não parece ter nenhum efeito.
from shiny import App, ui, reactive
app_ui = ui.page_fillable(
ui.layout_sidebar(
ui.sidebar(
ui.input_select("input_preset", "input_preset", choices=["A", "B", "C", "changed"]),
ui.input_text("input_option", "input_option", value=''),
)
)
)
def server(input, output, session):
@reactive.effect
@reactive.event(input.input_preset)
def _():
if input.input_preset() != 'changed':
# with reactive.isolate():
ui.update_text("input_option", value=str(input.input_preset()))
@reactive.effect
@reactive.event(input.input_option)
def _():
ui.update_select("input_preset", selected='changed')
app = App(app_ui, server)