5

I am confused as to how to layout controls in dash. How do I put the dropdown and the datepicker on the same row side-by-side?

html.Div(
      [
        html.Div(
          [
            dcc.Dropdown(id='dropdown',
              options=[{'label': i, 'value': i} for i in all_options],
              multi=False,
               placeholder='Select Symbol...',
            ),
            dcc.DatePickerSingle(
              id='my-date-picker-single',
              min_date_allowed=today,
              max_date_allowed=today,
              initial_visible_month=today,
              date=today)
          ],
          className='row'
       ),
     ]
    ),
Martijn Pieters
  • 889,049
  • 245
  • 3,507
  • 2,997
Ivan
  • 5,964
  • 9
  • 52
  • 103

2 Answers2

1

I think what you need is the style option of the elements you want to display side-by-side. Using style={'float': 'right','margin': 'auto'} on both of them.

html.Div(
      [
         html.Div(
          [
             dcc.Dropdown(id='dropdown',
                          options=[{'label': i, 'value': i} for i in all_options],
                          multi=False,
                          placeholder='Select Symbol...',
                          style={'float': 'right','margin': 'auto'}
             ),
             dcc.DatePickerSingle(id='my-date-picker-single',
                                  min_date_allowed=today,
                                  max_date_allowed=today,
                                  initial_visible_month=today,
                                  date=today
                                  style={'float': 'right','margin': 'auto'}
             )
          ],
      className='row'
   ),
 ]
),
Rudertier
  • 298
  • 2
  • 8
  • Can you provide an example? – Sade May 05 '20 at 10:07
  • 2
    Thank you. I appreciate this. I did attempt this using an alternative method. I used bootstrap components. https://dash-bootstrap-components.opensource.faculty.ai/docs/components/layout/ – Sade May 11 '20 at 09:08
-2

I think I figured it out. It looks correct:

html.Div(
  [
        dcc.Dropdown(id='dropdown',
            options=[{'label': i, 'value': i} for i in all_options],
            multi=False,
            placeholder='Select Symbol...'
        )
  ],
  className='two columns'
),
html.Div(
  [
        dcc.DatePickerSingle(
            id='my-date-picker-single',
            month_format='Y-M-D',
            min_date_allowed=today - timedelta(days=3),
            max_date_allowed=today + timedelta(days=730),
            initial_visible_month=today,
            date=today),
          html.Div(id='output-container-date-picker-single')
  ],
  className='two columns'
Ivan
  • 5,964
  • 9
  • 52
  • 103