[英]Python dash dropdown placeholder text
我正在嘗試在破折號中構建一個下拉菜單,其中占位符的文本應由另一個回調定義。
到目前為止,我嘗試的是讓占位符由 html.Div 定義,如下所示: dcc.Dropdown(id = 'test_dropdown', options = [{'label': 'Test1', 'value': '1'},{'label': 'Test2', 'value': '2'}], placeholder = html.Div(id = 'test_placeholder'))
,文本由另一個回調定義。 這導致以下錯誤消息:無效的參數placeholder
傳遞到 ID 為“test_dropdown”的下拉菜單。 預期的string
。 提供類型array
。
如果我刪除 html.Div 周圍的方括號,錯誤消息將變為: ID 為“test_dropdown”的dash_core_components.Dropdown
組件(版本 1.16.0)檢測到除children
項以外的道具的組件您是否忘記包裝多個children
項在一個數組中? 道具占位符具有值 Div(id='test_placeholder')
有沒有人對我如何實現依賴於另一個下拉列表的占位符提出建議? 還是使用隱藏的 html.Div 實現多個下拉菜單並隱藏除一個之外的所有下拉菜單會更好嗎?
在此先感謝您的幫助
只需將Output
的placeholder
設置為回調的dcc.Dropdown
即可。
這是一個控制placeholder
的dcc.Input
的最小示例。 當然,任何東西都可以用作改變placeholder
的回調的Input
,例如另一個dcc.Dropdown
的值:
import dash
import dash_html_components as html
import dash_core_components as dcc
from dash.dependencies import Input, Output
app = dash.Dash(__name__)
app.layout = html.Div([
dcc.Input(id='demo-input', value='Type here'),
dcc.Dropdown(
id='demo-dropdown',
options=[
{'label': 'New York City', 'value': 'NYC'},
{'label': 'Montreal', 'value': 'MTL'}
]
)
])
@app.callback(
Output('demo-dropdown', 'placeholder'), # <- dropdown placeholder gets updated
Input('demo-input', 'value'))
def update_placeholder(value):
return value
if __name__ == '__main__':
app.run_server(debug=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.