乐趣区

关于前端:SAP-UI5-响应式表格-sapmTable-根据不同宽度的屏幕动态决定显示或隐藏-Column-的实现源代码讲解试读版

写作动机

本教程前一篇文章,笔者曾经用一个理论的例子,解答了教程一位学习者对 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 这个答复不可信。

接下来笔者会揭晓正确的答案。

退出移动版