我有很多文本編輯控制器,而不是重復它并一次又一次地撰寫它,有沒有辦法創建一個串列并將其分配給一個控制器?
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();
我以不同的文本欄位形式使用這些文本編輯控制器。
非常感謝任何幫助。
uj5u.com熱心網友回復:
// 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);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/533176.html
上一篇:在null上呼叫了getter'length'。相關的導致錯誤的小部件是StreamBuilder<List<DocumentSnapshot<Object?&g