Every time I refresh page, “aaa” and “bbb” will be printed.
I hope they could only be printed after I press button.
following is my code:
def pp(v):
st.write(v);
if(add_selectbox=="button") :
bt1=st.button("test1", key=None, help="help info", on_click=pp("aaa"), args="ccc", kwargs=None, disabled=False)
bt2=st.button("test2", key=None, help="help info", on_click=pp("bbb"), args="ddd", kwargs=None, disabled=False)
1 Like
Hi @wocat11
If you want the callback to execute on click, pass the function name to the on_click
parameter instead of a function call with arguments. Here’s a working example:
Code
import streamlit as st
def pp(v):
st.write(v)
bt1 = st.button(
"test1",
key=None,
help="help info",
on_click=pp,
args=("aaa",),
kwargs=None,
disabled=False,
)
bt2 = st.button(
"test2",
key=None,
help="help info",
on_click=pp,
args=("bbb",),
kwargs=None,
disabled=False,
)
Output
Perhaps we should an example of how to use buttons with callbacks to the docs?
1 Like
Thank you very much! And more example will be useful for us
1 Like
system
Closed
July 20, 2023, 3:35am
4
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.