如何在Streamlit data_editor中为指定列预设可选选项?
如何在Streamlit data_editor中为指定列预设可选选项?
当然可以实现啦!Streamlit的data_editor工具提供了非常灵活的列配置功能,刚好能满足你限制指定列输入选项的需求——只需要用到column_config参数,就能轻松给目标列加上下拉选择框,让用户只能从预设选项里挑选。
举个具体的例子,基于你给出的代码修改后,完整实现如下:
import streamlit as st import pandas as pd # 初始化你的空DataFrame data = pd.DataFrame(columns=["Stock", "Option"]) # 定义列的自定义配置:给Option列设置下拉可选选项 custom_column_config = { "Option": st.column_config.SelectboxColumn( label="Option", options=["买入", "卖出", "持有"], # 这里替换成你实际需要的选项列表 help="请选择对应的操作类型", # 可选:给用户的提示文字 default="持有" # 可选:设置新行的默认选中值 ) } # 渲染带自定义列配置的data_editor request = st.data_editor( data, num_rows="dynamic", use_container_width=True, column_config=custom_column_config # 应用我们的列配置 )
这样设置之后,用户在添加或编辑行时,Option列就会变成一个下拉选择框,只能从你指定的选项中选择,再也不能随意输入内容啦。
如果你需要给其他列也设置类似的限制,只需要在custom_column_config里添加对应的列配置就行,比如给Stock列也加下拉选项,只需要新增一个键值对,用同样的SelectboxColumn来配置即可。
备注:内容来源于stack exchange,提问作者r4bb1t
相关产品推荐
相关产品推荐

