Open UI5 源代码解析之1143:ValueHelpField.js
源代码仓库:
https://github.com/SAP/openui5
源代码位置:src\sap.ui.commons\src\sap\ui\commons\ValueHelpField.js
ValueHelpField.js详细分析
文件定位
ValueHelpField.js位于sap.ui.commons这个经典控件库之中。从模块命名可以看出,它定义的是sap.ui.commons.ValueHelpField控件。这个控件并不是一个完全独立的新输入组件,而是在TextField的基础上向前再走一步:它保留普通文本输入能力,同时在输入框的一侧提供一个value help图标入口,用来触发外部的查询帮助、选择帮助、搜索帮助或者值列表弹窗。
换句话说,这个文件承担的不是查什么和怎么查的业务职责,而是承担用户如何发起查找动作的交互职责。这个区分非常关键。很多人初看会以为它是一个带弹窗的复杂控件,实际上它更像一个标准化的触发器壳层:界面上看起来像一个带帮助按钮的输入框,内部真正做的事情却非常克制,核心动作只有一件,就是在合适的时机抛出valueHelpRequest事件,让上层应用自己决定要不要打开帮助对话框、联想列表或检索界面。
如果把它放到现实世界里理解,可
