Как добавить заголовок в выпадающее меню в Flutter Web?

#flutter #web #dart

#flutter #веб #dart

Вопрос:

В настоящее время я работаю с Flutter web и пытаюсь добиться следующего:

Выпадающее меню

Я не могу задать заголовок для выпадающего меню, только добавить заголовок в качестве элемента в списке.

Я попробовал то, что предложил Firas Krifa, и получил следующий результат:

Результат в небольшом размере веб-страницы

Результат в размере 4K

Обычный размер веб-страницы (FULL HD)

Я не знаю, почему при небольшом размере выпадающее меню отображается слева от выпадающей кнопки, а размер 4k отображается справа. Также при обычном размере он отображается в заголовке, в то время как я хочу, чтобы он отображался прямо под заголовком.

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

1. Добавьте немного кода..

Ответ №1:

Попробуйте это

 new DropdownButton<String>(
  items: <String>['A', 'B', 'C', 'D'].map((String value) {
    return new DropdownMenuItem<String>(
      value: value,
      child: new Text(value),
    );
  }).toList(),
  onChanged: (_) {},
)
  

Ответ №2:

Виджеты DropdownButtonHideUnderline и Theme помогут контролировать, как выглядит выпадающий список в заголовке AppBar

https://material.io/guidelines/layout/structure.html#structure-app-bar

 new AppBar(
  title: new Theme(
      child: new DropdownButtonHideUnderline(
      child: new DropdownButton<String>(
        value: _value,
        items: <DropdownMenuItem<String>>[
          new DropdownMenuItem(
            child: new Text('My Page'),
            value: 'one',
          ),
        ], 
        onChanged: (String value) {
          setState(() => _value = value);
        },
      ),
    ), 
    data: new ThemeData.dark(),
  ),
),
  

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

1. Спасибо за ответ, но, к сожалению, он сохраняет только заголовок, но выпадающее меню не отображается там, где оно должно отображаться.

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