繁体   English   中英

如何替换按钮上显示的值单击streamlit

[英]How to replace displayed value on a button click on streamlit

我正在显示带有流光的数字“1”。 如果单击“执行计算 2”,我想用“2”替换这个“1”,如果单击“执行计算 3”,我想用“3”替换。 它有点工作,但我不想同时显示两者,我想根据我单击的按钮将“1”替换为“2”或“3”。

import streamlit as st

st.write("1")

runButton = st.button("Perform calculation 2")
if runButton:
    st.write("2")

runButton2 = st.button("Perform calculation 3")
if runButton2:
    st.write("3")

在此处输入图像描述

您可以使用 session state 和对按钮的回调。

代码

import streamlit as st

if 'num' not in st.session_state:
    st.session_state.num = "1"

def update2():
    st.session_state.num = "2"

def update3():
    st.session_state.num = "3"

st.write(st.session_state.num)
st.button("Perform calculation 2", on_click=update2, key='key_2')
st.button("Perform calculation 3", on_click=update3, key='key_3')

Output

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM