我正在尝试自定义一些网格选项,并在尝试将列设置为 URL 链接时遇到属性错误。我正在使用streamlit 1.38.0和streamlit-aggrid 1.0.5。
import streamlit as st
from st_aggrid import GridOptionsBuilder, AgGrid, GridUpdateMode, JsCode
gob = GridOptionsBuilder.from_dataframe(filtered)
for column in filtered.columns:
gob.configure_column(column, filter=True)
cell_renderer = JsCode("""
function(params) {return `<a href=${params.value} target="_blank">${params.value}</a>`}
""")
gob.configure_column("link",
headerName="Link",
cellRenderer=cell_renderer)
gridOptions = gob.build()
AgGrid(filtered, gridOptions=gridOptions, update_mode=GridUpdateMode.MODEL_CHANGED)
我明白了
AttributeError: module 'streamlit.components.v1' has no attribute 'components'
我认为使用兼容的库版本可以解决问题,但我需要使用最新的streamlit版本
您需要将
allow_unsafe_jscode=True
添加到您的 Aggrid 选项中。
AgGrid(filtered, gridOptions=gridOptions, update_mode=GridUpdateMode.MODEL_CHANGED, allow_unsafe_jscode=True)
来源:https://github.com/streamlit/streamlit/issues/8644#issuecomment-2198282602