写作动机
本教程前一篇文章,笔者曾经用一个理论的例子,解答了教程一位学习者对 sap.m.Table
的响应式布局个性的疑难:
- SAP UI5 利用开发教程之一百七十 – 廓清一些对 SAP UI5 响应式表格 sap.m.Table 的常见了解误区
文末咱们抛出了一个引申的问题:SAP UI5 框架源代码,是如何依据 minScreenWidth
属性和以后屏幕尺寸来决定某一列应该暗藏还是该显示?这一逻辑的实现源代码,位于 SAP UI5 框架哪个地位呢?
我首先试着让 ChatGPT 来答复这个问题:
ChatGPT 的答复看似像模像样。然而笔者细读一番,不必到零碎里看 ChatGPT 提到的函数名 _applyVisibility
进行验证,就感觉有点不对劲。
笔者的文章深刻学习 SAP UI5 框架代码系列之二:UI5 控件的渲染器 已经提到过,每个 SAP UI5 控件都有本人的渲染器,后者负责将 SAP UI5 控件定义在 XML 视图里的 动态属性
,以及控制器 JavaScript 文件里运行时批改的 动静属性
,渲染成 原生的 HTML 代码
。相似控件显示与否的工作,也是在渲染器文件里实现的。这些渲染器实现文件个别遵循命名标准 < 控件名称 >Renderer.js
.
但当初 ChatGPT 说 _applyVisibility
这个函数实现在 sap.m.Column
自身,而不是在渲染器文件里,这一点就让我很狐疑了。
于是我对 SAP UI5 源代码进行了全局搜寻,基本找不到名为 _applyVisibility
的函数。
我持续诘问 ChatGPT,这个 _applyVisibility
函数到底在哪个 JavaScript 文件里?
ChatGPT 答复说 Column.js
文件的门路在 sap.m/src/Column.js
里。
这个门路的确正确:https://github.com/SAP/openui5/blob/master/src/sap.m/src/sap/m/Column.js
然而该门路下的文件里,依然没有 _applyVisibility
这个函数。
所以 ChatGPT 这个答复不可信。
接下来笔者会揭晓正确的答案。