Dash Python 教程(6): 多个输出以及串联回调函数

Dash 通用支持多个输出UI组件的属性。比如下面的例子给出一个数x的2次方,3次方,2的指数,3的指数,x的x指数

app.layout = html.Div([
    dcc.Input(
        id='num-multi',
        type='number',
        value=5
    ),
    html.Table([
        html.Tr([html.Td(['x', html.Sup(2)]), html.Td(id='square')]),
        html.Tr([html.Td(['x', html.Sup(3)]), html.Td(id='cube')]),
        html.Tr([html.Td([2, html.Sup('x')]), html.Td(id='twos')]),
        html.Tr([html.Td([3, html.Sup('x')]), html.Td(id='threes')]),
        html.Tr([html.Td(['x', html.Sup('x')]), html.Td(id='x^x')]),
    ]),
])


@app.callback(
    [Output('square', 'children'),
     Output('cube', 'children'),
     Output('twos', 'children'),
     Output('threes', 'children'),
     Output('x^x', 'children')],
    [Input('num-multi', 'value')])
def callback_a(x):
    return x ** 2, x ** 3, 2 ** x, 3 ** x, x ** x

 

此外也可以把多个回调函数串联起来,前一个函数的输出做为下个函数的输入:实现某些关联操作,比如选择城市,选择好国家后,城市列表应该和所选择的国家匹配: