Как добавить метку (текст заголовка) в поле «Флаттер»? - PullRequest
0 голосов
/ 19 декабря 2018

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

Checkbox(
  title: Text("Checkbox label"),  // The named parameter 'title' isn't defined.
  value: true,
  onChanged: (newValue) { },
);

Нужно ли создавать собственный виджет, чтобы добавить к нему заголовок?

1 Ответ

0 голосов
/ 19 декабря 2018

Если вам нужен Checkbox с этикеткой, вы можете использовать CheckboxListTile.

enter image description here

  CheckboxListTile(
    title: Text("title text"), //    <-- label
    value: checkedValue,
    onChanged: (newValue) { ... },
  )

Если вы хотите установить флажок слева от текста, вы можете установить параметр controlAffinity.

enter image description here

  CheckboxListTile(
    title: Text("title text"),
    value: checkedValue,
    onChanged: (newValue) { ... },
    controlAffinity: ListTileControlAffinity.leading,  //  <-- leading Checkbox
  )

Примечания

  • Поскольку это ListTile, нажатие в любом месте строки активирует обратный вызов onChanged().Вы должны восстановить его с правильными проверенными значениями самостоятельно, все же.См. этот ответ .
  • Альтернативным решением будет создание собственного виджета с использованием строки с флажком и текстового виджета.Вы, вероятно, захотите обернуть его в детектор жестов, так что нажатие на текст также вызовет обратный вызов onChanged().Вы можете начать с CheckboxListTile исходного кода в качестве ссылки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...