Как разместить выпадающие списки рядом в Dash, Python

#python #plotly #plotly-dash

#python #plotly #plotly-dash

Вопрос:

введите описание изображения здесьЯ довольно новичок в dash и пытаюсь разместить два выпадающих списка рядом друг с другом, но они, похоже, вообще не работают, вместо этого они находятся друг под другом. Я думаю, что я что-то напутал в расположении ‘className’ HTML div. Код выглядит следующим образом:

 app.layout = html.Div([

html.Div( [

    html.H1("Web Application Dashboards with Dash", style={'text-align': 'center'}),

 ] ),

html.Div(
className = "row",children =[
    html.Div(className='six columns', children=[
        dcc.Dropdown(
            id='dropdown_dataset',
                    options=[
                        {'label': 'diabetes', 'value': 'diabetes'},
                        {'label': 'Custom Data', 'value': 'custom'},
                        {'label': 'Linear Curve', 'value': 'linear'},
                    ],
                    value='diabetes',
                    clearable=False,
                    searchable=False,
        )])
    ,html.Div(className='six columns', children=[
        dcc.Dropdown(
        id='dropdown_dataset_2',
        options=[
            {'label': 'sinh', 'value': 'sinh'},
            {'label': 'tanh', 'value': 'cosh'},
        ],
        value='diabetes',[![enter image description here][1]][1]
        clearable=False,
        searchable=False,
    )])
  ])
  ])



  if __name__ == '__main__':
        app.run_server(host='127.0.0.1',port = '5000',debug=False,use_reloader=False)
  

Можете ли вы указать, где я допускаю ошибку, и есть ли какая — либо документация, на которую можно сослаться по этому поводу?

Комментарии:

1. Я думаю, что таблицы или столбцы… посмотрим, что придумают другие.

Ответ №1:

Это сделает это. Я добавил display='flex' в div, который содержит оба выпадающих списка, и установил ширину в 50% для разделов, которые содержат только отдельные выпадающие списки. Вы, конечно, могли бы установить эти стили в своем файле CSS, используя идентификаторы или имена классов, вместо того, чтобы кодировать их встроенным образом, как это.

     html.Div(
        className="row", children=[
            html.Div(className='six columns', children=[
                dcc.Dropdown(
                    id='dropdown_dataset',
                    options=[
                        {'label': 'diabetes', 'value': 'diabetes'},
                        {'label': 'Custom Data', 'value': 'custom'},
                        {'label': 'Linear Curve', 'value': 'linear'},
                    ],
                    value='diabetes',
                    clearable=False,
                    searchable=False,
                )], style=dict(width='50%'))
            , html.Div(className='six columns', children=[
                dcc.Dropdown(
                    id='dropdown_dataset_2',
                    options=[
                        {'label': 'sinh', 'value': 'sinh'},
                        {'label': 'tanh', 'value': 'cosh'},
                    ],
                    value='diabetes',  # [![enter image description here][1]][1]
                    clearable=False,
                    searchable=False,
                )], style=dict(width='50%'))
        ], style=dict(display='flex'))
  

Комментарии:

1. Отлично … это работает. Также, как мне добавить отступы между ними и границами и, возможно, оформить поле. Могу ли я дать мне какую-нибудь ссылку?

2. Если вам нужно пространство между ними, уменьшите их ширину. Ознакомьтесь с этой страницей , чтобы узнать все полезные сведения о том, как использовать flexbox. Затем это позволит вам контролировать, как распределяется содержимое внутри flexbox. Заполнение и границы работают как обычно. Добавьте их к разделам, которые вы хотите иметь.