streamlit按钮仅在第一次之后有效

问题描述

我正在尝试使用Streamlit构建注释工具。本质上,它是1张图片,一种文本区域形式和一个“提交”按钮。该应用程序确实具有状态,并且似乎总体上可以正常工作。

但是,当我第一次单击该按钮时,仅执行部分代码,从而导致在提交的值和渲染的图像之间移动了1个位置。这是一段简化的代码片段:

# main.py 

def work(state):
    url,example_id = state.data.iloc[state.position]['s3_path'],state.data.iloc[state.position]['id']
    _update_img(url,f'example-{example_id}')  # renders image
    output = st.text_area('Dimentions',key=f'example-{state.position}')
    
    
    if st.button('submit'):
        print(f'Button fired: {state.position},{example_id}')
        
        submit(user,example_id,output,state)  # adds those values to a list inside state
        state.position += 1

if __name__ == '__main__':
    work(state)

同样,它似乎工作正常,除了第一次单击时不更新图像,然后在整个数据集中单步移动-提交存储NEXT图像的值。我想念什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...