我正在尝试使用daq.boolean开关来显示或隐藏下拉列表。为了隐藏所述下拉列表的html.Label,我给了Div一个id。这样我可以将Div的样式从{'display':'block'}更改为{'display':'none'},并隐藏标签和下拉列表
我的问题:
->;不给div一个id,只会隐藏下拉列表,而不会隐藏标签
——>;给div一个id会导致我的下拉值(value=5)出现此错误:
Exception has occurred: TypeError string indices must be integers
相关代码:
html.Div([
daq.BooleanSwitch(
id='hour_or_day',
on=True,
label='Hour/Day',
labelPosition="bottom",
color="#002255")])
html.Div( id= 'hide_choosehour' [
html.Label('Choose hour:'),
dcc.Dropdown(
id='hourChoice',
options=[{'label': str(i), 'value': str(i)} for i in range(24)],
value = 5,
)
], style= {'display':'block'})
@app.callback(
Output('hide_choosehour', 'style'),
Input('hour_or_day', 'on')
)
def show_hide_ChooseHour(on):
if on:
return {'display': 'none'}
return {'display': 'block'}
if __name__ == '__main__':
app.run_server(port=8050, debug=True)
我找到了一种解决方法,即不使用标签或hmtl.p(因此不再需要div id),而是使用带有所需文本的占位符。不过还是有点奇怪,因为最好是一个标签。欢迎任何建议,如果有任何不清楚的地方,请提醒我
将div的id移到括号之后而不是之前解决了我的问题
相关问题 更多 >
编程相关推荐