目标组件的 ID
模式
毫秒偏移(相较于基准)
组件选项列表,适用于下拉框、单选框等组件
每个选项包含 text(显示文本)和 value(实际值)两个属性。
预设配置项,可在实例化时传入,供 main() 方法使用
跨越周次
组件值
使用数字模式(如 "1"、"2")而非字符串模式(如 "第01周"、"第02周")
将当前组件与另一个组件进行组合,生成一个新的虚拟组件
组合逻辑为:将两个组件的值进行连接,生成新的值;将两个组件的选项进行笛卡尔积,生成新的选项列表;目标组件 ID 取当前组件和另一个组件中非空的那个。
例如,若当前组件的值为 "2023-2024学年",选项为 [{ text: "2023-2024学年", value: "2023-2024学年" }], 另一个组件的值为 "第一学期",选项为 [{ text: "第一学期", value: "第一学期" }],则组合后的虚拟组件的值为 "2023-2024学年第一学期",选项为 [{ text: "2023-2024学年第一学期", value: "2023-2024学年第一学期" }]。
另一个劫持组件实例
将当前劫持组件转换为一个虚拟组件,并绑定到指定的目标组件 ID 上
该方法会创建一个 VirtualComponent 实例,并将当前组件的值、选项和目标组件 ID 注入其中。
返回的 VirtualComponent 可以调用 setDefaultValue() 和 setOptions() 方法,将值和选项注入到目标组件中。
目标组件的 ID
受保护main组件主逻辑方法,负责生成周次选项列表和默认值
该方法会根据当前日期计算当前周次,并生成相应的选项列表。默认情况下,周次范围为 1 周至 52 周,
例如当前周次为 "第08周",则生成的选项列表为 ["第01周", "第02周", ..., "第52周"]。
其中,显示文本和实际值的格式取决于 mode:
mode = "string" 时,显示文本和实际值均为 "第XX周",其中 XX 为两位数字,范围从 01 到 range。mode = "number" 时,显示文本和实际值均为数字字符串,如 "1"、"2"、...、"52"。
默认值为当前周次。设置周次偏移
通过设置 offset,可以调整当前周次的计算基准。例如,offset = -7 则表示将当前周次的计算基准往前推 7 天,
适用于需要提前选择周次的场景。
毫秒偏移,例如 offset = -7 * 24 * 60 * 60 * 1000 则将周次计算基准往前推 7 天
静态of创建并初始化一个劫持组件实例
可选的时间语义化预设配置项,将传入组件实例供其 main() 方法使用
周次选择组件
该组件会根据当前日期自动计算当前周次,并生成相应的选项列表。默认情况下,周次范围为 1 周至 52 周, 例如当前周次为 "第08周",则生成的选项列表为 ["第01周", "第02周", ..., "第52周"]。