streamlit 运行js 复制内容到剪贴板
时间: 2023-10-06 20:11:08 浏览: 437
要在 Streamlit 应用程序中将文本复制到剪贴板,您可以使用 `pyperclip` 库。但是,如果您想要使用 JavaScript 实现此功能,您可以尝试使用 `clipboard.js` 库。
以下是使用 `clipboard.js` 在 Streamlit 应用程序中实现复制到剪贴板的示例代码:
```python
import streamlit as st
from streamlit import components
import streamlit.components.v1 as components_v1
# 在 Streamlit 中引入 clipboard.js 库
components_v1.html(
"""
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.8/clipboard.min.js"></script>
"""
)
# 创建一个文本框用于输入要复制到剪贴板的内容
text_to_copy = st.text_input("输入要复制到剪贴板的文本:")
# 创建一个按钮,点击该按钮将文本复制到剪贴板
if st.button("复制到剪贴板"):
# 使用 JavaScript 将文本复制到剪贴板
components.html(
f"""
<button class="btn" data-clipboard-text="{text_to_copy}">
复制
</button>
<script>
new ClipboardJS('.btn');
</script>
"""
)
st.success("文本已成功复制到剪贴板!")
```
此代码将在 Streamlit 应用程序中创建一个文本框和一个按钮。当您在文本框中输入文本并单击按钮时,JavaScript 将使用 `clipboard.js` 库将文本复制到剪贴板。成功复制文本后,Streamlit 应用程序将显示一个成功消息。
阅读全文