使用与查询参数同步的元素时,返回按钮不起作用
作者: davidhu-openai创建于 2026年2月7日更新于 2026年9月16日
标签type:enhancementpapercutarea:frontendfeature:query-params
- 核对表
- 我搜索了现有问题。
- 我给这个问题增加了一个非常描述性的标题。
- 我已提供了以下充分资料,帮助复制这一问题。
页:1
在按下浏览器后键时, streamlit 脚本不会重新执行, 因此与 `st. query params' 同步的元素不会刷新
可复制代码示例
[!][以流云打开](https://static.streamlit.io/badges/streamlit badge black white.svg)](https://issues.streamlitapp.com/?issues=gh-13853)[永久失效連結] (中文(简体) ).
导入流体为 st
数字 元素=10
st. set page config (page title="雾元素滑动",布局="以"为中心")
元素 ids = [f" mock- element- {i: 02d}" 对于i在范围(num elements)]
元素 to idx = {element id: idx 用于 idx, 元素 id in lockete(element ids)}
url element id = st.query params.get ("element id") 互联网档案馆的存檔,存档日期2013-12-21.
如果(则
“ mock element id” 不是在st.session 状态
或 st. session state ["mock element id"] 不在元素 to idx中
:
st.session state ["mock element id"]= (中文(简体) ).
url element id 如果 url element id 在元素 to idx 其他元素 ids [0]
(中文(简体) ).
带有 St. Container( 键="mock- element- sliper"):
st. select slitver( 选择滑块)
"元素",
选项=元素 IDs,
键=“ mock element id”,
标签 可见="相撞",
(中文(简体) ).
st.query params ["lement id"]=st.session state ["mock element id"] (中文(简体) ).
当前 element id = st.session state ["mock element id"] (中文(简体) ).
当前 idx = 元素 to idx [当前 element id]
含有 st. popover( f) “ 元素 ” :
st. markdown (f"({current idx}/{num 要素})") (中文(简体) ).
- 创建带有上述代码的流体应用程序,并前往 http://localhost:8501/?lement id=mock-element-3
- 将元素拖入模拟元素5
- 按浏览器后键.
• 预期行为
你会期望滑子回到模拟元素... 3个
当前的行为
滑板留在模拟元素5
这是倒退吗?
- [ 是的,这曾经是以前版本的。
调试信息
- 简化版本 :
- Python版本:
- 操作系统:
- 浏览器:
补充信息
我之前见过https://GitHub.com/streamlit/streamlit/issues/9279,这看起来是相互关联的,但不同,不能解决这个问题
内容来源: streamlit/streamlit