searchfield
searchfield copied to clipboard
Exception that occurs when accessing data without data
Describe the bug I am making a program for MacOS/Windows. I want to receive focus and send data continuously whenever the Enter key is pressed as a keyboard event in SearchField. In order to prevent the suggestions list from being displayed every time the focus comes, I did the following, but an exception occurred at a specific location in SearchField.
Exception Screenshots
https://github.com/user-attachments/assets/dc373790-8264-4229-b3e6-d4aa67286e6b
Code sample
Show code
String keyboardInputStr = '';
bool isKeyboardEnter = false;
bool isSendMsg = false;
int selectCompanyKindSet = 0;
final TextEditingController sendMsgControl = TextEditingController();
final FocusNode sendFocusNode = FocusNode();
List<String> companyKindSet = ['company1', 'company2'];
List<String> noneCmdSet = [];
List<List<String>> cmdSetList = [
//company1
[
"Log Level 설정(양산레벨)> ABC",
"Log Level 설정(Info레벨)> AAA",
"Log Level 설정(디버깅레벨)> BBB",
"모듈 설정값 확인> CCCC",
"ALFI 항목 확인> KKK",
"모듈 리부팅> 0000",
"페어링 정보 확인> 11111",
"인증 정보 확인> 2222",
"FOTA 정보 확인> 3333",
"FOTA 정보 초기화> 4444",
"현재 시간 정보 확인> 555",
"WLAN 연결 정보 확인> 6666",
"PING 테스트> ping=192.168.0.1",
"다운로드 모드 진입> 7777",
"WiFi Scan List 출력> 888",
"공장 초기화> 9999"
],
//company2
[
"Log Level 설정(양산레벨)> ppppp",
"Log Level 설정(WiFi Info 레벨)> lllll",
"Log Level 설정(Common Info 레벨)> ccccc",
"모듈 설정값 확인> ggggg",
"FOTA 정보 확인> 11111",
"테스트 모드 진입> 3434",
"WiFi Scan List 출력(테스트모드에서만 가능)> 09900",
"테스트 모드 종료> 123211",
"공장(설정) 초기화> fddsfsdfdsf"
]
];
.....
SizedBox(
width: dispWidth * 0.8,
child: KeyboardListener(
focusNode: sendFocusNode,
onKeyEvent: (event) {
if (event.logicalKey == LogicalKeyboardKey.enter) {
if (event is KeyDownEvent) {
isKeyboardEnter = true;
}
} else {
if (isSendMsg) {
setState(() {
isSendMsg = false;
});
}
}
},
child: SearchField<String>(
textInputAction: TextInputAction.send,
suggestionDirection: SuggestionDirection.up,
suggestionAction: SuggestionAction.next,
searchInputDecoration: SearchInputDecoration(
labelText: 'Input Msg',
cursorColor: Colors.blue,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
),
),
onSuggestionTap: (SearchFieldListItem<String> item) {
//debugPrint('onSuggestionTap');
if (isKeyboardEnter) {
sendMsgControl.text = keyboardInputStr;
//debugPrint('isKeyboardEnter call');
isKeyboardEnter = false;
FocusManager.instance.primaryFocus?.requestFocus();
sendMsgFuc();
keyboardInputStr = '';
setState(() {
isSendMsg = true;
});
} else {
//debugPrint('mouse select call');
String inputText = item.searchKey;
int parserCnt = item.searchKey.indexOf('> ');
if (parserCnt > 0) {
inputText = item.searchKey.substring(parserCnt + 2, item.searchKey.length);
}
sendMsgControl.text = inputText;
}
},
suggestions: !isSendMsg
? cmdSetList[selectCompanyKindSet]
.map(
(e) => SearchFieldListItem<String>(e,
item: e, child: searchChild(e, isSelected: e == sendMsgControl.text)),
)
.toList()
: noneCmdSet
.map(
(e) => SearchFieldListItem<String>(e,
item: e, child: searchChild(e, isSelected: e == sendMsgControl.text)),
)
.toList(),
controller: sendMsgControl,
onSubmit: (sendStr) {
//debugPrint('onSubmit $sendStr');
FocusManager.instance.primaryFocus?.requestFocus();
sendMsgFuc();
isKeyboardEnter = false;
setState(() {
isSendMsg = true;
});
},
onTapOutside: (sendStr) {
FocusManager.instance.primaryFocus?.unfocus();
},
onTap: () {
setState(() {
isSendMsg = false;
});
},
onSearchTextChanged: (sendStr) {
//debugPrint('onSearchTextChanged $sendStr');
keyboardInputStr = sendStr;
final filter = cmdSetList[selectCompanyKindSet].where((element) => element.contains(sendStr)).toList();
return filter.map((e) => SearchFieldListItem<String>(e, child: searchChild(e))).toList();
},
),
),
),
Exception Exception Log
Show log
======== Exception caught by widgets library =======================================================
The following RangeError was thrown building _FocusInheritedScope:
RangeError (length): Invalid value: Valid value range is empty: 0
The relevant error-causing widget was:
KeyboardListener KeyboardListener:file:///Users/hwkim/Documents/GitHub/flutter_window_test/lib/main.dart:1039:38
When the exception was thrown, this was the stack:
#0 List.[] (dart:core-patch/growable_array.dart)
#1 _SearchFieldState.didUpdateWidget.<anonymous closure> (package:searchfield/src/searchfield.dart:677:64)
#2 ListBase.indexWhere (dart:collection/list.dart:460:15)
#3 _SearchFieldState.didUpdateWidget (package:searchfield/src/searchfield.dart:676:41)
#4 StatefulElement.update (package:flutter/src/widgets/framework.dart:5789:55)
#5 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#6 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#7 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#8 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#9 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#10 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#11 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:105:11)
#12 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#13 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#14 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#15 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#16 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#17 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#18 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#19 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#20 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5)
#21 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#22 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#23 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#24 Element.updateChildren (package:flutter/src/widgets/framework.dart:4090:32)
#25 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7060:17)
#26 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#27 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#28 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#29 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#30 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#31 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#32 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#33 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#34 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#35 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#36 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#37 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#38 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#39 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#40 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#41 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#42 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#43 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#44 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#45 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#46 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#47 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#48 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#49 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#50 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#51 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#52 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#53 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#54 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#55 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#56 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#57 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#58 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#59 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#60 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#61 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5)
#62 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#63 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#64 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#65 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#66 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#67 Element.updateChildren (package:flutter/src/widgets/framework.dart:4090:32)
#68 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7060:17)
#69 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#70 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#71 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#72 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5)
#73 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#74 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#75 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#76 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5)
#77 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#78 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#79 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#80 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#81 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#82 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#83 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#84 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#85 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#86 Element.updateChildren (package:flutter/src/widgets/framework.dart:4090:32)
#87 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7060:17)
#88 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#89 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#90 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#91 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#92 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#93 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#94 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#95 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#96 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#97 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#98 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#99 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#100 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#101 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#102 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#103 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#104 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#105 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#106 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#107 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#108 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#109 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#110 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#111 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#112 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#113 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#114 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#115 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#116 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#117 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#118 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#119 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#120 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#121 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#122 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#123 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#124 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#125 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#126 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#127 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#128 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#129 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#130 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#131 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#132 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#133 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#134 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#135 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#136 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#137 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#138 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#139 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#140 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#141 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#142 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#143 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#144 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#145 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#146 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#147 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#148 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#149 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#150 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#151 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#152 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#153 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#154 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#155 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#156 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#157 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#158 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#159 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#160 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5)
#161 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#162 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#163 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#164 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#165 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#166 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#167 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#168 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#169 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#170 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#171 Element.updateChildren (package:flutter/src/widgets/framework.dart:4090:32)
#172 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7060:17)
#173 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#174 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#175 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#176 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#177 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#178 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#179 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#180 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#181 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#182 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#183 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#184 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#185 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#186 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#187 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#188 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#189 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#190 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#191 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#192 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#193 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#194 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#195 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#196 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#197 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#198 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#199 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#200 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#201 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#202 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#203 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#204 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#205 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#206 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#207 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#208 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#209 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#210 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#211 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#212 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#213 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#214 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#215 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#216 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#217 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#218 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#219 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#220 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:105:11)
#221 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#222 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#223 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#224 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#225 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#226 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#227 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#228 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#229 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#230 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#231 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#232 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#233 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#234 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#235 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#236 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#237 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#238 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#239 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#240 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#241 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#242 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#243 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#244 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5)
#245 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#246 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#247 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#248 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5)
#249 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#250 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#251 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#252 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#253 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#254 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#255 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#256 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#257 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#258 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5)
#259 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#260 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#261 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#262 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#263 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#264 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#265 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#266 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#267 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#268 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#269 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#270 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#271 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#272 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#273 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2693:15)
#274 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2752:11)
#275 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3048:18)
#276 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1162:21)
#277 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:468:5)
#278 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1397:15)
#279 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1318:9)
#280 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1176:5)
#281 _invoke (dart:ui/hooks.dart:312:13)
#282 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:419:5)
#283 _drawFrame (dart:ui/hooks.dart:283:31)
====================================================================================================
======== Exception caught by scheduler library =====================================================
The following assertion was thrown during a scheduler callback:
'package:flutter/src/rendering/object.dart': Failed assertion: line 3374 pos 12: 'attached': is not true.
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.yml
When the exception was thrown, this was the stack:
#2 RenderObject.getTransformTo (package:flutter/src/rendering/object.dart:3374:12)
#3 RenderBox.localToGlobal (package:flutter/src/rendering/box.dart:2887:39)
#4 RenderEditable._snapToPhysicalPixel (package:flutter/src/rendering/editable.dart:2276:33)
#5 RenderEditable.getLocalRectForCaret (package:flutter/src/rendering/editable.dart:1822:28)
#6 EditableTextState._updateComposingRectIfNeeded (package:flutter/src/widgets/editable_text.dart:4498:38)
#7 EditableTextState._schedulePeriodicPostFrameCallbacks (package:flutter/src/widgets/editable_text.dart:4405:5)
#8 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1397:15)
#9 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1331:11)
#10 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1176:5)
#11 _invoke (dart:ui/hooks.dart:312:13)
#12 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:419:5)
#13 _drawFrame (dart:ui/hooks.dart:283:31)
(elided 2 frames from class _AssertionError)
====================================================================================================
======== Exception caught by scheduler library =====================================================
The following assertion was thrown during a scheduler callback:
'package:flutter/src/rendering/object.dart': Failed assertion: line 3374 pos 12: 'attached': is not true.
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.yml
When the exception was thrown, this was the stack:
#2 RenderObject.getTransformTo (package:flutter/src/rendering/object.dart:3374:12)
#3 RenderBox.localToGlobal (package:flutter/src/rendering/box.dart:2887:39)
#4 RenderEditable._snapToPhysicalPixel (package:flutter/src/rendering/editable.dart:2276:33)
#5 RenderEditable.getLocalRectForCaret (package:flutter/src/rendering/editable.dart:1822:28)
#6 EditableTextState._scheduleShowCaretOnScreen.<anonymous closure> (package:flutter/src/widgets/editable_text.dart:4051:45)
#7 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1397:15)
#8 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1331:11)
#9 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1176:5)
#10 _invoke (dart:ui/hooks.dart:312:13)
#11 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:419:5)
#12 _drawFrame (dart:ui/hooks.dart:283:31)
(elided 2 frames from class _AssertionError)
====================================================================================================
Temporarily handle exceptions in your 'searchfield.dart' code
Show code
void didUpdateWidget(covariant SearchField<T> oldWidget) {
if (oldWidget.controller != widget.controller) {
searchController = widget.controller ?? TextEditingController();
}
if (_suggestionDirection != oldWidget.suggestionDirection) {
_suggestionDirection = widget.suggestionDirection;
}
if (oldWidget.suggestions != widget.suggestions) {
length = widget.suggestions.length;
suggestionStream.sink.add(widget.suggestions);
lastSearchResult.clear();
lastSearchResult.addAll(widget.suggestions);
// if a item was already selected
if (selected != null && selected! >= 0) {
if (oldWidget.suggestions.isNotEmpty) { //add here
selected = widget.suggestions.indexWhere(
(element) => element == oldWidget.suggestions[selected!]);
}
}
}
....
}
Success Screenshots
https://github.com/user-attachments/assets/a50e81b3-703b-40be-88f0-3269d699a55a