Py.Cafe

chenjianguang1124/

dash-category-management-tool

Category Management Tool with Dash and Antd Components

DocsPricing
  • app.py
  • requirements.txt
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# check out https://dash.plotly.com/ for documentation
# And check out https://py.cafe/maartenbreddels for more examples
from dash import Dash, Input, Output, callback, dcc, html,ctx,State
import feffery_antd_components as fac

app = Dash(__name__)
app.layout = html.Div(
    children=[
        fac.AntdModal(
            children=[
                fac.AntdRow(
                    [
                        fac.AntdCol(
                            fac.AntdRow("分类:", justify='center'),
                            flex=1
                        ),
                        fac.AntdCol(
                            fac.AntdInput(
                                value='',
                                placeholder='请输入分类名称',
                                id='category-name-input',
                            ),
                            flex=11
                        ),
                    ],
                ),
            ],
            renderFooter=True,
            id='add-category-modal',
            title='添加分类',
        ),
        fac.AntdButton(
            "新增分类",
            id="add-category-btn",
        )
    ]
)

@app.callback(
    Output('add-category-modal', 'okClickClose'),
    Input('add-category-modal', 'okCounts'),
    State('category-name-input', 'value'),
    prevent_initial_call=True
)
def check_category_name(ok_counts, category_name):
    print(ctx.triggered)
    print(ctx.triggered_id)
    print(ctx.triggered_prop_ids)
    print(ok_counts)
    print(category_name)
    print('-' * 12)
    return ok_counts and bool(category_name)


@app.callback(
    Output('add-category-modal', 'visible'),
    Input('add-category-btn', 'nClicks'),
    prevent_initial_call=True
)
def update_categories_table(n_clicks):
    if n_clicks:
        return True
    return False