簡體   English   中英

on_click function 分配給 Streamlit 按鈕在瀏覽器中單擊事件之前運行

[英]on_click function assigned to Streamlit button runs before the click event in browser

我正在嘗試使用onclick=""參數在 streamlit 按鈕中運行腳本。 問題是,腳本甚至在按鈕出現在瀏覽器上之前就開始運行。 知道這里可能是什么錯誤嗎?

import streamlit as st
from level_packs import create_packs
st.set_page_config(page_title="Main work", page_icon="💻")

st.markdown("# Main work")

st.button('Run script', on_click=create_packs())

我嘗試使用以下代碼及其工作:)

import streamlit as st

from level_packs import create_packs as f

st.set_page_config(page_title="Main work", page_icon="💻")


st.markdown("# Main work")


def run_button():
    st.button('Run script', on_click=f)


run_button()

您可以為按鈕初始化 session state 並將 function 傳遞給if語句。
就像是:

runbtn = st.button('Run script')

if "runbtn_state" not in st.session_state:
    st.session_state.runbtn_state = False

if runbtn or st.session_state.runbtn_state:
   st.session_state.runbtn_state = True
   create_packs() # Your function

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM