首页 > 解决方案 > 我可以在回调生成的 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 模式 - 类似这样。我很难过 - 有什么想法吗?

标签: pythonbootstrap-modalplotly-dash

解决方案


Plotly 社区成员 Eduardo 和 AnnMarieW发布了一种将 DataTable 单元格视为按钮的方法,该方法使用active_cell表的属性作为回调的输入。这可以解决问题。


推荐阅读