如何在单选按钮组的 *ngFor 中设置最初选定的单选按钮

2023-12-01

Before我使用表单验证一切正常,我的单选按钮组 html 如下所示:

<div class="form-group row">
                <label class="col-xs-6 col-form-label">{{getHalfScoresErrorsCount()}}</label>
                <div class="col-xs-6">
                    <span *ngFor="let answer of gradingKey.halfScoresCountAnswers">
                        <label class="form-check-inline">
                            <input class="form-check-input" type="radio" (ngModelChange)="onChangeHalfScoresErrorsCount($event)"
                            [(ngModel)]="gradingKey.currentAnswer" [value]="answer">
                            {{answer.value}}
                        </label>
                    </span>
                </div>
            </div>

After实现反应式表单看起来像这样:

<div class="form-group row">
    <label class="col-xs-6 col-form-label">{{getHalfScoresErrorsCount()}}</label>
    <div class="col-xs-6">
        <span *ngFor="let answer of gradingKey.halfScoresCountAnswers">
            <label class="form-check-inline">
                <input class="form-check-input" type="radio" (ngModelChange)="onChangeHalfScoresErrorsCount($event)"
                formControlName="halfScoresCount" [value]="answer">
                {{answer.value}}
            </label>
        </span>
    </div>
</div>

我添加了表单控件名称属性并删除了ngModel指示...

然后我改变了代码:GradingKeyComponent.ts:

ngOnInit()
{
 this.gradingKeyForm = this.fb.group({
      bestGradeScores: bestGradeScoresFormControl,
      worstGradeScores: worstGradeScoresFormControl,
      scoreAtBend: [this.gradingKey.scoreAtBend],
      gradeAtBend: [this.gradingKey.gradeAtBend],
      halfScoresCount: [this.gradingKey.currentAnswer]
    });
}

我没有更改我的模型对象:评分键.ts

constructor(obj: any)
{
    this.halfScoresCountAnswers = [new KeyValue(true, 'Yes'), new KeyValue(false, 'No')];
    this.currentAnswer = obj.halfScoresCount == true ? this.halfScoresCountAnswers[0] : this.halfScoresCountAnswers[1];
}

我不想仅仅因为我现在需要验证而更改我的 html...2 个问题!

目前,没有单选按钮值设置为 true/selected。

有些人可能会说这是因为 *ngFor... 中有 2 个相同的 formControlName。

如果可能的话,我应该如何正确解决这个问题而不改变我的html?


一旦您的相关 FormControl(在本例中,halfScoresCount) [value]设置后,相关的无线电选项answer应自动选择匹配项。

我怀疑这是由于初始化造成的

halfScoresCount: [this.graFodingKey.currentAnswer]

作为一个数组。大概应该是

halfScoresCount: this.graFodingKey.currentAnswer

where this.graFodingKey.currentAnswer匹配一个可能的值gradingKey.halfScoresCountAnswers[](更明确地说,匹配迭代的可能值answers) 与您在反应形式之前所做的完全一样(即,[(ngModel)]="gradingKey.currentAnswer" [value]="answer")

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在单选按钮组的 *ngFor 中设置最初选定的单选按钮 的相关文章

随机推荐

  • Zend Framework - 安装旧版本

    我已经安装了ZF3 但我在一家只使用 ZF2 的公司工作 我也必须能够使用 Doctrine 由于版本 3 无法与主义一起使用 我必须将其降级 或安装旧版本 但我不知道该怎么做 因为http framework zend com downl
  • Magento 1.8 的 Nginx 配置

    有人知道如何在 nginx 服务器的配置文件中配置 server 吗 我有下面这样的东西 server server name local com root some path index index php location try fi
  • apache 服务器上的 500 错误 - “此处不允许AllowOverride”

    我已经在我的 Mac OSX 10 9 上设置了一个服务器 但它返回 500 错误 并在错误日志中显示以下消息 alert client 1 Users user Sites mysite htaccess AllowOverride no
  • ASP 格式化日期

    您好 我正在尝试在 ASP 中获取以特定格式 yyyymmdd 显示的日期 这是我到目前为止所尝试过的 但没有运气 任何帮助表示赞赏 谢谢 tr td b Call Date b td td align center a href targ
  • 这个额外的字节是什么?

    我正在研究 PE 可移植可执行文件 格式 但我发现用 MinGW 和 MSVC 编译的 C 程序之间存在差异 这是 此程序无法在 DOS 模式下运行 之后和 PE 魔术签名之前的一些额外字节 有人知道这是什么以及为什么有 Rich 这个词吗
  • 在 KAFKA 中最大轮询间隔之前发布新事件后,滞后偏移被跳过

    Kafka v2 4 消费者配置 kafka consumer auto offset reset earliest kafka consumer auto commit false Kafka 消费者容器配置 Bean public Co
  • Julia 并行性:@distributed (+) 比串行慢?

    在互联网上看到一些关于 Julia 并行性的教程后 我决定实现一个小的并行片段来计算调和级数 序列号为 harmonic function n Int64 x 0 for i in n 1 1 summing backwards to av
  • Firebase Firestore 易于记住的参考资料

    我们使用 Firebase Firestore 进行数据存储 当用户创建新房间时 我们希望引用易于记住 以便用户可以与其他用户共享房间 ID 代码 目前 Firestore 将创建一个唯一的引用 例如 DvfTMYED5cWdo5qIraZ
  • NHibernate - 通过不同的键多次 JOIN 到同一个表

    另一个 NHibernate JOIN 问题 我正在尝试通过不同的两个表连接一个表中的两个不同的属性 键 但我无法获得第二个 JOIN 属性 简化示例 我的课 namespace Domain public class Message re
  • 谷歌分析。增强的电子商务。产品展示次数限制

    有人知道增强型电子商务 Google Analytics 发送展示数据的限制吗 我发现奇怪的行为 谷歌限制发送超过 8KB 的数据 我使用数据层来发送电子商务数据 我的页面上有多达 100 个产品 我还使用 unicode 发送产品和类别名
  • 当子文档或集合完成创建时,不会触发 firestore OnCreate

    因此 我正在使用 flutter 和 firebase 构建一个聊天应用程序 每当两个新用户第一次开始互相聊天时 每当其中一个用户发送第一条消息时 我需要触发一个功能 这样我就可以将该信息存储在某处以显示稍后将其作为聊天记录提供给用户 曾经
  • 我不明白Oracle文档中的这一部分?

    你好 我是 Ankur 已经用 java 编码好几年了 我之前读过 Herbert Schildt 的 Head First Java The Complete Reference 最近我在这页中遇到了一个重大谬误 甲骨文文档注意部分说 如
  • 在react-native-pager-view(或任何其他)内动态更改内容

    我正在开发一个项目 我将在寻呼机视图中逐页显示某本书的详细信息和信息作为页面组件 该书包含 500 多个页面 所以我不能只创建 500 个页面组件 例如并将它们插入到寻呼机中 我想的是我可以获得一个特定的页面 仅在上一页和下一页旁边呈现其组
  • 画布不渲染以前的图像

    我有一个 asp net 网络应用程序 我使用 Web 套接字和 HTML5 canvas 将图像渲染到我的网页 这是 JS function setUpImageProc desktopImage onload function ctxL
  • WebKit 边框半径和过渡错误

    在 Google Chrome 的最新稳定版本 版本 31 0 1650 63 m 也包括 Canary 中 当涉及边框半径和过渡时 仍然存在错误 应用了边框半径的元素内的内容在动画结束之前不会被剪切 我已经设法通过转换 顶部 和 左侧 属
  • Chrome 在哪里存储 cookie?

    假设我使用以下命令设置了 cookiesetcookie 函数于PHP setcookie name foo false false 我可以在以下位置看到它 chrome settings cookies 但是 我找不到硬盘上存储的实际文件
  • PDFMiner 无法提取字体

    我正在使用 PDFMiner 将一些 pdf 报告转换为纯文本 并且我的一堆输入 pdf 只是输出了几行可识别的行 然后是一个 cid d 列表 有点像这样 检查报告 用户ID 4 用户ID 5 用户ID 6 用户ID 7 用户ID 8 用
  • 来自本地文件系统的 jQuery Ajax 请求(Windows file:///)

    我正在尝试执行 ajax 请求来获取内容 http localhost 在 Windows Wamp 服务器上运行 该脚本是从这样的地方运行的 file C my path index html 我只是使用标准 ajax 请求来尝试获取 l
  • 无法将正则表达式与 sed 匹配

    我正在尝试匹配一个模式 d x d x d x with sed没有运气 我正在运行的文件是这样的 name something version 0 0 1 description some desc main gulpfile js di
  • 如何在单选按钮组的 *ngFor 中设置最初选定的单选按钮

    Before我使用表单验证一切正常 我的单选按钮组 html 如下所示 div class form group row div