Plotly:从回调更新一行Dash DataTable

2024-04-20 00:12:45 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的dash应用程序中,我在模式弹出窗口中有一个表单,它接受用户的输入。我想使用模式弹出窗口中的选择字段,在回调中侦听它们的值,然后当用户提交表单或保存时,我想向数据库添加一行

我有代码向数据库中添加新行。以下是行为:

单击按钮添加新行>;打开弹出窗口>;保存表单>;基于表单输入的值填充新行

如何根据模式弹出窗口中的值更新一行仪表板数据表

# Update DataTable
@app.callback(Output("comps-table", "data"),
              [
                  # Modal Popup
                  Input("prop-type-2","value"),
                  Input("sqft","value"),
                  Input("Renovated","value"),
                  Input("Floor","value"),
                  Input("prop-class","value"),
                  Input("Built","value"),
                  Input("rent-ask-2","value")


                  # Buttons
                  Input("comps-button", "n_clicks"),
                  Input("add-prop-btn", "n_clicks"),
                  Input("save", "n_clicks")
              ],
              [
                  State("comps-table", "data"),
                  State("comps-table", "columns")
              ]
             )
def update_table(address, proptype, dealtype, space, floor, rent, leasetype, ameneties, n_clicks, n_clicks1, nclicks2, rows, columns):

    # Add new row
    if n_clicks1:

        rows.append({c['id']: '' for c in columns})

        return rows

    # update new row
    elif nclicks2:

        return rows

    # Run func
    elif n_clicks:

Tags: columns用户gt数据库表单inputdatavalue