首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在angular中创建多选项组

如何在angular中创建多选项组
EN

Stack Overflow用户
提问于 2019-12-12 17:59:56
回答 4查看 54关注 0票数 0

如何在有问题的情况下创建多个电台,您只需选择PassedFailed即可。选择passedfailed时,不会影响其他项目

例如:

第一项--你怎么看?你会通过还是失败?:*通过*失败

第二题-你的同学anna会通过还是不及格?:*通过*失败

第三项-你最好的朋友的评分是通过还是不及格?:*通过*失败

EN

回答 4

Stack Overflow用户

发布于 2019-12-12 18:23:07

Item.ts文件

代码语言:javascript
复制
class Item{
  id : number;
  question : string;
  isPassed : boolean;
}

app.component.ts

代码语言:javascript
复制
export class AppComponent  {
items : Item[]=[];

 constructor(){
    console.log("onitnit")
    this.items.push({
      'id':1,
      'question': 'question1?',
      'isPassed':false,
    })
    this.items.push({
      'id':2,
      'question': 'question2?',
      'isPassed':false,
    })
    this.items.push({
      'id':3,
      'question': 'question3?',
      'isPassed':false,
    })
  }

  resultHandler(){
    console.log(this.items);
  }
}

app.component.html文件

代码语言:javascript
复制
        <div *ngFor = "let item of items" style="display : flex;">
           {{item.question}} 
           <form style="margin-left:20px">
              passed: <input type="radio" name="orders" [value]="item.id"/>
             failed: <input type="radio" name="orders" [value]="item.id"/>
           </form>
        </div>

working demo

生成的最终结果见控制台。

票数 1
EN

Stack Overflow用户

发布于 2019-12-12 19:24:45

具有反应性形式的多个单放组。

HTML:

代码语言:javascript
复制
<form [formGroup]="form">
  <div *ngFor="let que of questions">
    <span>{{que.question}}</span>&nbsp;&nbsp;&nbsp;
    <mat-radio-group [formControlName]="que.id" aria-label="Select an option">
      <mat-radio-button value="true">Passed</mat-radio-button>
      <mat-radio-button value="false">Failed</mat-radio-button>
    </mat-radio-group>
  </div>
  <pre>{{form.value | json}}</pre>
</form>

TS:

代码语言:javascript
复制
form: FormGroup;

  questions = [{
    id: "1",
    question: "What do you think? you will pass or fail?",
    result: false
  },
  {
    id: "2",
    question: "Your classmate anna will be pass or fail?",
    result: false
  },
  {
    id: '3', 
    question: "Your best friend grade will be pass or fail?",
    result: false
  }]

  constructor(private fb: FormBuilder) {
    this.form = this.fb.group({ });
      this.questions.forEach(question => {
      this.form.addControl(question.id, this.fb.control(null, Validators.required));
      })
  }

stackblitz链接:https://stackblitz.com/edit/angular-pyfprq

票数 1
EN

Stack Overflow用户

发布于 2019-12-12 18:12:56

为您的功能创建了示例

Stackblitz example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59301981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档