You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly Dash中结合DateRangePicker与Dropdown实现dash_table回调问题

Dash组件联动回调解决方案

你当前的代码仅将日期选择器作为表格更新的触发条件,没有纳入下拉框的状态,也没有对应的分支筛选逻辑,按以下步骤修改即可实现两个组件共同控制表格数据:

步骤1:调整回调输入项

给原回调新增下拉框filter_dropdown的value作为输入,这样下拉框选项变化时也会触发回调更新表格:

@app.callback(Output('table-container', 'data'),
              [Input('my-date-picker-range', 'start_date'),
               Input('my-date-picker-range', 'end_date'),
               Input('filter_dropdown', 'value')])

步骤2:新增分支筛选逻辑

修改回调函数,接收下拉框选中值,新增对应筛选逻辑:

def update_data(start_date, end_date, selected_branches):
    # 先按日期范围筛选
    data = df.loc[start_date: end_date]
    # 如果选中了分支,再按分支过滤
    if selected_branches and len(selected_branches) > 0:
        data = data[data['BR_CD'].isin(selected_branches)]
    return data.to_dict('records')

注意事项

  1. 原代码中所有"是HTML转义字符,需要替换为正常的双引号"才能正常运行
  2. 原代码里的to_dict('rows')写法在新版pandas中已弃用,替换为to_dict('records')即可
  3. 如果你需要表格里保留ISSUE_DATE字段,可以在筛选后加data = data.reset_index()

内容的提问来源于stack exchange,提问作者hoa tran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:57:02