Как установить переключатель по умолчанию во Флаттере? - PullRequest
0 голосов
/ 19 февраля 2019

По умолчанию Flutter показывает все переключатели пустыми (не отмечены).

Как установить переключатель по умолчанию?

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

Ниже кода переключателя:

class _ProductTypeScreen extends State<ProductType> {

  String _radioValue; //Initial definition of radio button value
  String choice;

  void radioButtonChanges(String value) {
    setState(() {
      _radioValue = value;
      switch (value) {
        case 'one':
          choice = value;
          break;
        case 'two':
          choice = value;
          break;
        case 'three':
          choice = value;
          break;
        default:
          choice = null;
      }
      debugPrint(choice); //Debug the choice in console
    });
  }

  // Now in the BuildContext... body widget:

  @override
  Widget build(BuildContext context) {
  //First of the three radio buttons

  Row(
    children: <Widget>[
      Radio(
        value: 'one',
        groupValue: _radioValue,
        onChanged: radioButtonChanges,
      ),
      Text(
        "One selected",
      ),
    ],
  ),

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

добавить начальное состояние

class _ProductTypeScreen extends State<ProductType> {

  String _radioValue; //Initial definition of radio button value
  String choice;

  // ------ [add the next block] ------ 
  @override
  void initState() {
    setState(() {
      _radioValue = "one";
    });
    super.initState();
  }
  // ------ end: [add the next block] ------  

  void radioButtonChanges(String value) {
    setState(() {
      _radioValue = value;
      switch (value) {
        case 'one':
          choice = value;
          break;
        case 'two':
          choice = value;
          break;
        case 'three':
          choice = value;
          break;
        default:
          choice = null;
      }
      debugPrint(choice); //Debug the choice in console
    });
  }

  @override
  Widget build(BuildContext context) {
0 голосов
/ 19 февраля 2019

Решение:

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

  String _radioValue = 'one'; //one| two | three - One by default

Чтобы сохранить всепереключатели пустые, просто установите переменную null:

 String _radioValue = null; //all radio buttons blank

или самый простой способ:

 String _radioValue; //all radio buttons blank
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...