簡體   English   中英

Python 破折號下拉占位符文本

[英]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 實現多個下拉菜單並隱藏除一個之外的所有下拉菜單會更好嗎?

在此先感謝您的幫助

只需將Outputplaceholder設置為回調的dcc.Dropdown即可。

這是一個控制placeholderdcc.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM