问题描述

在Dash应用中实现按钮的二次确认功能可以通过使用 dcc.ConfirmDialog 组件来实现。当用户点击按钮时,显示一个确认对话框,用户确认后才执行实际操作。以下是一个示例代码:

解决方案

import dash
from dash import dcc, html, Input, Output, State

app = dash.Dash(__name__)

app.layout = html.Div([
    html.Button('Click Me', id='button'),
    dcc.ConfirmDialog(
        id='confirm',
        message='Are you sure you want to proceed?'
    ),
    html.Div(id='output')
])

@app.callback(
    Output('confirm', 'displayed'),
    [Input('button', 'n_clicks')]
)
def display_confirm(n_clicks):
    if n_clicks:
        return True
    return False

@app.callback(
    Output('output', 'children'),
    [Input('confirm', 'submit_n_clicks')],
    [State('button', 'n_clicks')]
)
def update_output(submit_n_clicks, n_clicks):
    if submit_n_clicks:
        return f'Button clicked {n_clicks} times.'
    return 'Button not clicked yet.'

if __name__ == '__main__':
    app.run_server(debug=True)

总结

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部