插入一个单元素容器。

在你的应用中插入一个容器,该容器可用于容纳单个元素。 这使您能够,例如,在任何时候移除元素,或一次性替换多个元素(使用子多元素容器)。

要在返回的容器上插入/替换/清除一个元素,你可以使用with表示法或直接在返回的对象上调用方法。请参见下面的示例。

函数签名[source]

st.empty()

示例

with st.empty():块内,每个显示的元素将替换前一个元素。

import streamlit as st
import time

with st.empty():
    for seconds in range(10):
        st.write(f"⏳ {seconds} seconds have passed")
        time.sleep(1)
    st.write(":material/check: 10 seconds over!")
st.button("Rerun")

你可以使用st.empty来连续替换多个元素。在st.empty内部使用st.container来显示(并稍后替换)一组元素。

import streamlit as st
import time

st.button("Start over")

placeholder = st.empty()
placeholder.markdown("Hello")
time.sleep(1)

placeholder.progress(0, "Wait for it...")
time.sleep(1)
placeholder.progress(50, "Wait for it...")
time.sleep(1)
placeholder.progress(100, "Wait for it...")
time.sleep(1)

with placeholder.container():
    st.line_chart({"data": [1, 5, 2, 6]})
    time.sleep(1)
    st.markdown("3...")
    time.sleep(1)
    st.markdown("2...")
    time.sleep(1)
    st.markdown("1...")
    time.sleep(1)

placeholder.markdown("Poof!")
time.sleep(1)

placeholder.empty()
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。