Трепет TextField прилипает, курсор возвращается к нему, когда я заканчиваю sh с другими элементами - PullRequest
1 голос
/ 23 апреля 2020

На моем новом экране Job у меня есть виджет About TextFormField, если я добавлю в него какой-то текст, затем go для взаимодействия с другими виджетами, такими как получение времени начала работы, как только я закончу с этими виджеты, курсор возвращается к TextFormField, Flutter предполагает, что у пользователя есть незавершенное дело.

Как я могу сказать Flutter не активировать виджеты TestField? Чтобы курсор оставался невидимым и фокусировался в другом месте?

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

      Column(children: <Widget>[
       TextFormField(
        style: Theme.of(context).textTheme.bodyText2,
        decoration: InputDecoration(
          labelStyle: Theme.of(context).textTheme.bodyText2,
          //errorText: _showValidationError ? 'Invalid number entered' : null,
          labelText: 'Comprehensive job description',
          border: OutlineInputBorder(
            borderRadius: BorderRadius.circular(0.0),
          ),
        ),
        autofocus: false,
        keyboardType: TextInputType.multiline,
        onSaved: (String description) =>
            this.widget.job.description = description.trim(),
      ),
      RaisedButton(
        onPressed: () => _selectDate(context, startDate),
        child: Text('Select start date'),
      ),
      // TODO only show for certain categories
      CheckboxListTile(
        secondary: Icon(Icons.calendar_today),
        title: Text('To be completed the same day?'),
        subtitle: Text(showEndDatePicker == true
            ? "Must be completed same day."
            : "Could be completed in a few days."),
        value: showEndDatePicker ?? false,
        onChanged: (bool value) {
          setState(() {
            showEndDatePicker = value;
          });
        },
      ),
  Visibility(
    visible: !showEndDatePicker ?? false,
    child: RaisedButton(
      onPressed: () => _selectDate(context, endDate),
      child: Text('Select end date'),
    ),
  ),
   ]
);

Если я наберу некоторые вещи в TextFormField, а затем нажмите поднятую кнопку, чтобы вызвать сборщик даты. Отлично. Но когда это будет завершено, фокус переместится обратно к TextFormField, и появится клавиатура. Скорее всего, пользователь закончил работу с этим полем.

Перемещение курсора назад на несколько виджетов и необъяснимое всплывающее окно с клавиатурой - плохой UX, помогите!

...