我的Dash中有DatePickerRange和DataTable,更改DatePickerRange时需要实时更新DataTable。 我有代码:
dcc.DatePickerRange(
id = "date-picker-range",
start_date = ("2019-3-1"),
end_date_placeholder_text="Select a date!"
),
dash_table.DataTable(
id='table',
columns=[{"name": i, "id": i} for i in df.columns],
data=df.to_dict('records'),
我尝试过:
mask = (df['data'] > start_date) & (df['data'] <= end_date_placeholder_text)
df.loc[mask]
但是它不起作用:NameError:名称'start_date'未定义
答案 0 :(得分:0)
您在哪里尝试更新DataTable?它应该在回调函数中。在不了解更多代码和应用程序的情况下,回调函数的结构应如下所示:
#define or import 'df' here
@app.callback(
dash.dependencies.Output('table', 'data'),
[dash.dependencies.Input('date-picker-range', 'start_date'),
dash.dependencies.Input('date-picker-range', 'end_date_placeholder_text')])
def update_output(start_date, end_date):
#or defined 'df' here
mask = (df['data'] > start_date) & (df['data'] <= end_date_placeholder_text)
return df.loc[mask].to_dict('records')