Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
597 of 1024 menu
◀ ▶

Виджет FormField

Виджет FormField задаёт builder, validator и onSaved. Его используют TextFormField и другие поля внутри Form.

Синтаксис

FormField<String>( builder: (state) => Text(state.value ?? ''), validator: (v) => null, )

Параметры

Параметр Описание
builder Строит виджет и получает FormFieldState.
validator Проверяет значение перед submit.
onSaved Сохраняет значение при вызове save.
initialValue Начальное значение поля.
autovalidateMode Режим автопроверки. Тип AutovalidateMode.

Пример

Давайте покажем простое поле через builder:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: FormField<String>( initialValue: 'abcde', builder: (state) => Text(state.value ?? ''), ), ), ), ), ); }

На экране по центру появится строка 'abcde' из состояния поля.

Пример

Давайте сменим значение через didChange:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: FormField<String>( initialValue: '12345', builder: (state) { return TextButton( onPressed: () => state.didChange('abcde'), child: Text(state.value ?? ''), ); }, ), ), ), ), ); }

На экране кнопка показывает '12345', после нажатия текст станет 'abcde'.

Смотрите также

  • виджет TextFormField,
    который проверяет поле внутри формы
  • виджет Form,
    который объединяет поля формы
  • перечисление AutovalidateMode,
    который решает, когда проверять форму
  • класс FormState,
    который управляет проверкой и сохранением
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить