Как создать список для контроллера редактирования текста

У меня много контроллеров редактирования текста, и вместо того, чтобы повторять и писать снова и снова, есть ли способ создать список и назначить его контроллеру?

TextEditingController _Length =  TextEditingController();
TextEditingController _Width =  TextEditingController();

TextEditingController _LengthInch =  TextEditingController();
TextEditingController _WidthInch =  TextEditingController();

TextEditingController _LengthFt =  TextEditingController();
TextEditingController _WidthFt =  TextEditingController();

TextEditingController doorLength = TextEditingController();
TextEditingController doorWidth = TextEditingController();

TextEditingController doorLengthFt = TextEditingController();
TextEditingController doorWidthFt = TextEditingController();

TextEditingController doorLengthInch = TextEditingController();
TextEditingController doorWidthInch = TextEditingController();

TextEditingController tileLength = TextEditingController();
TextEditingController tileWidth = TextEditingController();

TextEditingController tileLengthInch = TextEditingController();
TextEditingController tileWidthInch = TextEditingController();

Я использую эти контроллеры редактирования текста в другой форме текстового поля.

Любая помощь высоко ценится.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
    // Your controller Identity Name
    enum YourSpecialControllerKeysNameForClass {
      _Length,
      _Width,
      _LengthInch,
      _WidthInch,
      _LengthFt,
      _WidthFt,
      doorLength,
      doorWidth,
      doorLengthFt,
      doorWidthFt,
      doorLengthInch,
      doorWidthInch,
      tileLength,
      tileWidth,
      tileLengthInch,
      tileWidthInch,
    }
    
    
    
      // Create each for controller names
  Map<YourSpecialControllerKeysNameForClass, TextEditingController> createTextControllers() {
    Map<YourSpecialControllerKeysNameForClass, TextEditingController> createdList = {};

    createdList.addEntries(YourSpecialControllerKeysNameForClass.values.map((e) => MapEntry<YourSpecialControllerKeysNameForClass, TextEditingController>(e, TextEditingController())).toList());

    return createdList;
  }
    
      // Get Controllers By Name
      TextEditingController getTextController(YourSpecialControllerKeysNameForClass key) {
        return controllerList.entries.toList().firstWhere((element) => element.key == key).value;
      }
    
      // And Define this any Widget  
      Map<YourSpecialControllerKeysNameForClass, TextEditingController> controllerList = {};
    
    
      // Initialize youR contollers in initState
      initState() {
    
        // Create Contoller
        controllerList = createTextControllers();
      }
    
    
    
    
      // Usage
      getTextController(YourSpecialControllerKeysNameForClass._Length);




///
///// If you send data to the list then only what you send is disposed.
////  If you don't, they are all disposed.
///
void disposeAllController({List<YourSpecialControllerKeysNameForClass>? onlyList}) {
  if (onlyList != null) {
    controllerList.entries.where((element) => onlyList.contains(element.key)).toList().map((e) => e.value.dispose());
  } else {
    controllerList.values.map((e) => e.dispose());
  }
}

Привет, большое спасибо за помощь, я очень ценю это. Я скопировал ваш код и заменил имена, но он выдает ошибку: «Метод toHashMap не определен для типа «Список». Попробуйте исправить имя на имя существующего метода или определить метод с именем «toHashMap». Еще немного помощи, пожалуйста. Спасибо

Ahmad 13.11.2022 21:11

Хорошо, используйте toMap() вместо toHashMap()

rasityilmaz 13.11.2022 21:13

братан. та же ошибка toMap() также не работает

Ahmad 13.11.2022 21:23

Это действительно работает. Спасибо большое. Я очень ценю ваше время и помощь. Я инженер-строитель и на 90% разработал приложение для ускорения инженерных расчетов. Я делаю все это сам, и приложение отлично работает, когда я тестирую его на своем мобильном телефоне. Я узнал все из Интернета и таких людей, как вы, сделайте так, чтобы мы, новички, могли учиться и оставаться мотивированными.

Ahmad 13.11.2022 21:47

Пожалуйста!, рад, что смог помочь

rasityilmaz 13.11.2022 23:27

Братан, подскажи пожалуйста, как убрать весь список сразу. или я должен распоряжаться ими один за другим в вызове удаления.

Ahmad 16.11.2022 18:57

Конечно, вы можете перепроверить мой ответ

rasityilmaz 16.11.2022 19:32

очередной раз. Спасибо большое за помощь. Я очень ценю это.

Ahmad 16.11.2022 21:26

Другие вопросы по теме