You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular如何为slide toggle对应的FormArray设置回显布尔值

实现方案

你可以通过遍历可选通道数组匹配接口返回的已选通道,生成布尔值数组后赋值给FormArray即可,具体实现如下:


步骤1:在接口获取到编辑数据后执行赋值逻辑

// 示例:接口返回的已选通道列表,替换为你实际的接口返回字段
const editSelectedChannels: string[] = 接口返回的已选通道数组;

const enabledChannelsArr = this.form.get('enabledChannels') as FormArray;
// 遍历所有可选通道,判断是否在已选列表中,依次给FormControl赋值
this.canaisHabilitados.forEach((channel, index) => {
  const isSelected = editSelectedChannels.includes(channel);
  enabledChannelsArr.at(index).setValue(isSelected);
});

注意事项

  • 你现有代码中表单初始化时的字段名存在笔误:nabledChannels 少了首字母e,需要修正为 enabledChannels,否则会出现表单控件匹配失败的问题
  • 模板中的[checked]="channel.value"可以删除,你已经绑定了formControlName,响应式表单会自动控制滑动开关的选中状态,重复绑定可能引发状态冲突

内容的提问来源于stack exchange,提问作者Desenv Junior

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:24:01