在我的应用程序中使用DataTable

Mr.*_*ent 5 dashboard python-3.x plotly plotly-dash

我正在使用Dash使用python构建仪表板。我有以下代码:

import dash
import dash_core_components as dcc
import dash_table_experiments as dte
import dash_html_components as html
from datetime import datetime as dt

app = dash.Dash()

app.layout = html.Div([
    dcc.Location(id = 'url', refresh=False),
    html.Div(id = 'page-content')
])
app.config['suppress_callback_exceptions'] = True

def get_index():
    index = html.Div([
        dcc.Link('Live Data', href='/live')
    ], className = 'row')
    return index

live = html.Div([
    html.H1('Table '),
    dcc.DatePickerRange(
            id = 'selected-period',
            initial_visible_month=dt(2018, 4, 5),
            start_date = dt(2018, 4, 22),
            end_date=dt(2018, 4, 25)
    ),
    # dte.DataTable(
    #     rows= [{}],
    #     row_selectable = True,
    #     filterable = True,
    #     sortable = True,
    #     editable = False,
    #     id = 'data-table'
    # )
])

@app.callback(
    dash.dependencies.Output('page-content', 'children'),
    [dash.dependencies.Input('url', 'pathname')]
)
def display_correct_page(pathname):
    if pathname == '/live':
        return live
    else:
        return get_index()

if __name__ == '__main__':
    app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)

我想使用dash_core_components.Link,但似乎与不兼容dash_table_experiments。当我在dte.DataTable注释掉的情况下运行此代码时,该应用程序正常运行。当我尝试运行带有该dte.DataTable零件的应用程序时,出现白色屏幕。.我不知道为什么会这样,因为我以前使用dte.DataTable过,并且没有任何问题。问题似乎在于我正在使用,dcc.Link但我不明白为什么会这样。

问:有没有办法使用的方式dte.DataTabledcc.Links?如果是这样的话; 如何更改脚本以显示所需的数据表?

(我知道我可以通过删除该dcc.Link部分并像一个非常基本的应用程序一样运行它来使该脚本正常工作。我希望能够使用该链接,因为我想将两个不同的应用程序与结合在一起dte.DataTable。)

Max*_*ers 3

Dash期望初始版本layout包含所有组件,即您需要在布局中创建一个空表。

如果添加隐藏表

html.Div(dte.DataTable(rows=[{}]), style={'display': 'none'}),
Run Code Online (Sandbox Code Playgroud)

对你来说app.layout它应该有效。