目标组件的字段标识。
该字段标识用于在 HijackedComponent.infect 或 HijackedComponent.compose 方法中指定需要被改造的目标宜搭组件。
年级显示模式。
"a":绝对年级模式,显示文本与实际值均为 "YYYY级"。"r":相对年级模式,显示文本为 "一年级"、"二年级" 等。默认值为 "a"。
组件的选项列表。
每个选项包含 text(显示文本)与 value(实际值)两个字段,适用于
下拉框、单选框等宜搭组件。该列表通常由 HijackedComponent.main
方法计算得出,并通过 VirtualComponent.setOptions 注入到目标组件中。
时间语义化预设配置项。
该配置项在实例化时传入,供 HijackedComponent.main 方法使用, 用于控制学年、学期、周次等时间相关组件的计算基准。
年级选项跨越的年份数量。
默认值为 6。有效取值范围为 [1, 9]。
组件的默认值。
该值通常由 HijackedComponent.main 方法计算得出,并通过 VirtualComponent.setDefaultValue 注入到目标组件中。
将当前组件与另一个组件进行组合,生成新的虚拟组件。
组合逻辑如下:
例如,若当前组件值为 "2023-2024学年",另一组件值为 "第一学期",
则组合后的值为 "2023-2024学年第一学期"。
另一个劫持组件实例。
组合后的虚拟组件实例。
将当前劫持组件转换为虚拟组件,并绑定到指定的目标字段。
该方法会创建一个 Infection.VirtualComponent 实例,并将当前组件的 值、选项与目标字段标识注入其中。返回的虚拟组件可进一步调用 VirtualComponent.setDefaultValue 与 VirtualComponent.setOptions 完成实际改造。
目标宜搭组件的字段标识,例如 "selectField_xxx"。
绑定后的虚拟组件实例。
受保护main受保护生成年级选项列表与默认值。
该方法通过 Utils.SchoolDays.of 与
Utils.SchoolDays.benchmarkYear 计算基准年份,然后生成
range 个连续年级选项。默认值为选项列表中的第一个元素,即当前年级。
当前组件实例。
静态of创建并初始化一个劫持组件实例。
工厂方法会创建子类实例,并将传入的预设配置合并到 HijackedComponent.preset 中,然后自动调用 HijackedComponent.main 完成初始化。
具体的劫持组件子类类型。
可选的时间语义化预设配置项,将传入组件实例供其主逻辑使用。
已完成初始化的组件实例。
年级选择组件。
该组件基于 Utils.SchoolDays 计算当前年级,并生成以当前年级 为起始、向前推 range 年的选项列表。 显示文本与实际值的格式由 mode 控制:
"a"(绝对模式):显示文本与实际值均为"YYYY级"。"r"(相对模式):显示文本为"一年级"、"二年级"等,实际值为"YYYY级"。添加于
26.7.1