宜搭+
    正在准备搜索索引...

    类 HijackedComponent抽象

    组件劫持基类。

    本抽象类定义了可被 Infection.VirtualComponent 转换的劫持组件 契约。子类通过实现 HijackedComponent.main 方法生成组件的 默认值选项列表,随后可调用 HijackedComponent.infect 方法将自身转换为虚拟组件并绑定到 目标字段。

    多个劫持组件还可通过 HijackedComponent.compose 方法进行组合, 生成一个新的 Infection.VirtualComponent,其值为各组件值的连接, 选项为各组件选项的笛卡尔积。

    层级 (查看层级一览)

    索引

    构造函数

    属性

    fieldId: string = ""

    目标组件的字段标识。

    该字段标识用于在 HijackedComponent.infectHijackedComponent.compose 方法中指定需要被改造的目标宜搭组件。

    26.7.1

    options: { text: string; value: string }[] = []

    组件的选项列表。

    每个选项包含 text(显示文本)与 value(实际值)两个字段,适用于 下拉框、单选框等宜搭组件。该列表通常由 HijackedComponent.main 方法计算得出,并通过 VirtualComponent.setOptions 注入到目标组件中。

    26.7.1

    preset: SchoolDaysPreset = {}

    时间语义化预设配置项。

    该配置项在实例化时传入,供 HijackedComponent.main 方法使用, 用于控制学年、学期、周次等时间相关组件的计算基准。

    26.7.1

    value: string = ""

    组件的默认值。

    该值通常由 HijackedComponent.main 方法计算得出,并通过 VirtualComponent.setDefaultValue 注入到目标组件中。

    26.7.1

    方法

    • 将当前组件与另一个组件进行组合,生成新的虚拟组件。

      组合逻辑如下:

      • 新值为两个组件 value 的连接。
      • 新选项为两个组件 options 的笛卡尔积, 其中 textvalue 分别由对应字段连接而成。
      • 新目标字段标识取两个组件 fieldId 中非空者。

      例如,若当前组件值为 "2023-2024学年",另一组件值为 "第一学期", 则组合后的值为 "2023-2024学年第一学期"

      参数

      返回 Readonly<VirtualComponent>

      组合后的虚拟组件实例。

      26.7.1