python - 如何使用回调函数(dash python)更改 CardBody(html.H6)中的文本?
问题描述
在 app.layout 中我有一个输入,当我在其中输入一些信息时,我想更改 CardBody(html.H6) 的信息。尝试这种方式我一直有这样的错误:
TypeError:dash_bootstrap_components.Card
ID 为“CardBody(children={}, id='card_title1')”的组件(0.12.0 版)检测到一个组件的 propchildren
不是您忘记将多个组件包装children
在一个数组中吗?Prop id 具有值 CardBody(children={}, id='card_title1')
# This is inside app.layout:
html.Div([
dcc.Dropdown(
id='dropdown',
options=[{'label':i, 'value':i} for i in df['c'].unique()],
),
html.Div(id='output')
], className='search-bar'),
html.Div(
[
dbc.Row(
[
dbc.Col(children=[
dbc.Card(dbc.CardHeader("Diretor"),
dbc.CardBody([
html.H6({}, id='card_title1', className="card-title1"),
]), inverse=True)]),
],
className="mb-4 cardsrow",
),
]
),
### Callback function:
@app.callback(
Output('card-title1', 'children'),
Input('dropdown', 'value')
)
def update_output_div(stock_slctd):
if stock_slctd in df.CNPJ_FUNDO.unique():
dff = df[df['FUNDO_CODE']==stock_slctd]
else:
dff = df[df['FUND_NAME']==stock_slctd]
name = dff.DIR.iloc[0]
return name
解决方案
而不是这个:
dbc.Card(
dbc.CardHeader("Diretor"),
dbc.CardBody(
[
html.H6(
{},
id="card_title1",
className="card-title1",
),
]
),
inverse=True,
)
您应该将多个孩子包装在一个数组中,因为错误告诉您:
dbc.Card(
children=[
dbc.CardHeader("Diretor"),
dbc.CardBody(
[
html.H6(
{},
id="card_title1",
className="card-title1",
),
]
),
],
inverse=True,
)
推荐阅读
- reactjs - 多个 env 文件在 docker 上选择哪一个 - 创建反应应用程序
- ios - SDWebImage 不加载图像直到我在 Swift 中滚动 tableView
- r - 闪亮的模块:如何使用 DT::datatables 访问 selected_rows?
- authentication - 尝试使用 OAuth 端点进行授权时,我收到无效的同意请求 [Snowflake]
- c# - 在给定 Microsoft.Odata.Edm.IEdmModel 的情况下,如何确定绑定操作(函数或操作)所属的 EntitySet?
- google-apps-script - 应用程序脚本 - 在现有文件夹中创建新的谷歌文档
- reactjs - 如何使用反应虚拟化创建包含大量数据并支持扩展行和固定列的复杂表?
- ios - 一个 Xcode 文件中的多个主故事板
- asp.net-mvc - 使用 POSTMAN 对 OPENID 服务器进行身份验证
- php - 如何通过 Stripe PHP 和 webhook 使用 good 事件,比较收到的付款数量并取消订阅