python - 我可以在回调生成的 DataTable 中使用超链接来使用传递的数据打开模式吗?
问题描述
dbc.Modal
我使用链接到调用 POST 请求的回调的一个和一个提交按钮在 DataTable 中创建记录(有 8 个字段,为简洁起见仅显示 2 个):
html.Div([
dbc.Modal([
html.Tr([html.Td('Author(s):', id='country-source-author-label'),
html.Td(dcc.Textarea(id='country-source-author-textarea')
]),
html.Tr([html.Td('Publication Date:',
html.Td(dcc.DatePickerSingle(id='country-source-publication-date-picked')])
], id='add-country-source-modal'),
dbc.Button("Submit", id='add-country-source-submit-button'))
])
以下是此表单生成的示例数据:
county_source_table = ['author_name': 'E.O. Wilson', 'date': '2021-10-31', 'link': '#']
要查看 Sources,我有一个 DataTable,其中包含指向 Details 列中单个记录的超链接。
sources_table = dash_table.DataTable(
id='county-source-table',
columns=[
{'id': 'author_name', 'name': 'Author'},
{'id': 'date', 'name': 'Publication Date'},
{'id': 'link', 'name': 'Details', 'type': 'text', 'presentation': 'markdown'}
],
markdown_options={'link_target': '_self'})
我想做的是单击表中每条记录的链接,以打开包含该记录的所有相关数据的 Dash Bootstrap 模式 - 类似这样。我很难过 - 有什么想法吗?
解决方案
Plotly 社区成员 Eduardo 和 AnnMarieW发布了一种将 DataTable 单元格视为按钮的方法,该方法使用active_cell
表的属性作为回调的输入。这可以解决问题。