[英]How to make N checkboxes in streamlit?
我想制作一個剩余應用程序,用戶可以無限次制作復選框。 例如:
它基本上是一個待辦事項列表。
'''
import streamlit as st
hw = []
todo =st.text_input("Input To do list elements here")
while todo != "done":
hw.append(todo)
todo = st.text_input("Input To do list elements here")
for i in hw:
checkbox=st.checkbox(i)
'''
這是我正在嘗試使用的代碼,我知道這不會讓我到達那里,但我現在只想能夠制作復選框並在 streamlit 中檢查它們但無法解決表明我無法使用的錯誤消息多個 st.text_input 的相同鍵或多次運行循環無限的其他錯誤,即使我輸入了 break 語句“完成”。
也許有不同的解決方案,我想聽聽。
你有 2 個 st.text_input(),你需要定義一個鍵,例子
todo =st.text_input("在這里輸入待辦事項列表元素", key=1)
鍵應該不同。
這是一個簡單的待辦事項應用程序,請注意復選框鍵。
"""
Todo list app
"""
import streamlit as st
st.title("Todo list app")
# 1. Create a variable to store todos.
if not 'todolist' in st.session_state:
st.session_state.todolist = []
# 2. Prompt the user in the form
with st.form(key='form'):
todo = st.text_input(label='Enter todo description')
is_submit = st.form_submit_button('submit')
# 3. Store todo in todolist when submit button is hit.
if is_submit:
st.session_state.todolist.append(todo)
# 4. Display the contents of todolist
with st.expander(label='List of todos', expanded=True):
for i, todo_text in enumerate(st.session_state.todolist):
st.checkbox(label=f'{todo_text}', key=i)
看起來您認為st.text_input("Input To do list elements here")
會立即要求用戶輸入。 然而,這不是它的工作原理。 相反text_input()
創建了一個文本小部件,您可以將其放置在 web 頁面中供用戶輸入。 實際輸入不會立即返回。
我建議您閱讀 streamlit 文檔中的主要概念,以幫助您理解基礎知識。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.