【发布时间】:2021-11-10 19:12:47
【问题描述】:
我有一个简单的 Dash 导航栏,在用户登录时显示用户名
但是,当我单击用户名时,它会显示一个转瞬即逝的错误(在 an object was provided as children instead of a component, string, or number (or list of those)。显示错误后,再次单击用户名时,它会正确重定向到页面。
我有一个相同的登录页面回调机制,它工作得很好。我不明白是什么导致了这个短暂的错误,以及为什么它在第二次尝试时仍然导航到页面。
可能出了什么问题,我该如何解决?
header = dbc.Navbar(
dbc.Container(
[
dbc.Nav(
[
dbc.NavItem(dbc.NavLink('user-name',id='user-name',href='Profile')), #displays the error when clicked
dbc.NavItem(dbc.NavLink('login', id='user-action', href='Login')),
]
)
],
),
)
#broken callback
@app.callback(
[Output('user-name', 'children'),
Output('user-name', 'href'),
],
[Input('page-content', 'children')])
def profile_link(content):
if current_user.is_authenticated:
return str(current_user.first),'/profile'
else:
return '',''
工作回调:
@app.callback(
[Output('user-action', 'children'),
Output('user-action', 'href'),
],
[Input('page-content', 'children')])
def user_logout(input1):
if current_user.is_authenticated:
return 'logout', '/logout'
else:
return 'login', '/login'
【问题讨论】:
标签: python flask plotly-dash