我可以复现。以下是堆栈跟踪:
_application-bfbda341c2eb6dd7d61c681e17bdccec057c30e045ddc332927a7363150e9b1b.js:16386 Uncaught TypeError: Cannot read property '0' of null
at HTMLLIElement.<anonymous> (application-bfbda341c2eb6dd7d61c681e17bdccec057c30e045ddc332927a7363150e9b1b.br.js:1)
at HTMLLIElement.dispatch (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.br.js:1)
at HTMLLIElement.d.handle (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.br.js:1)
(anonymous) @ application-bfbda341c2eb6dd7d61c681e17bdccec057c30e045ddc332927a7363150e9b1b.br.js:1
dispatch @ ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.br.js:1
d.handle @ ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.br.js:1
问题出在这一行:
错误发生的原因是 selectedOption 为 0(即单个建议,也就是第一个),而 autocompleteOptions 不知为何为 null。
我正在调查原因……
目前我还不确定具体原因。起初我怀疑是 @Osama 的这个 PR:
但我添加了不少断点,却仍然无法找到究竟是谁在修改 autocompleteOptions 并将其设为 null。
autocompleteOptions 来自上方两层父级闭包的作用域,这一点也非常奇怪,使得代码更难追踪和调试。