我有一个动态表单输入,用户可以按下按钮添加更多输入字段,这些输入字段将使用ngFor绑定到模板,如下所示:
getTasks(myFormdata) {
return myFormdata.get('inputs').controls
}
和ts文件
getRandomNumber() {
const random = Math.floor(Math.random() * (999999 - 100000)) + 100000;
const control = <FormArray>this.myFormdata.controls['inputs'];
control.setValue([{numbers: random, pari: 25}])
}
这一切都很棒。用户可以添加新的输入字段,但我有一个按钮,它将生成一个随机数并将随机数设置为输入值。因为我是Angular 2的新手,所以当有多个输入字段时,我似乎无法实现它。在字段中生成随机数的方法如下:
getRandomNumber()
我的{{1}}方法缺少什么使它为每个添加的字段生成一个随机数?
答案 0 :(得分:4)
我得到了解决方案......以下是我的解决方案
getRandomNumber(i: number) {
let random = Math.floor(Math.random() * (999999 - 100000)) + 100000;
const control = <FormArray>this.myFormdata.controls['inputs'];
const random = this._fb.group({numbers: +quickpicked, pari: 25});
control.setControl(i, random)
}
答案 1 :(得分:0)
export class AppComponent {
title = 'codegenerator';
date = new Date();
codeGenerated = '';
evtMsg: any;
randomString() {
const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
const stringLength = 10;
let randomstring = '';
for (let i = 0; i < stringLength; i++) {
const rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum, rnum + 1);
}
this.codeGenerated = randomstring;
return 0;
}
}
<div class="card text-center" style="width: 40rem;">
<div class="card-head">
<button (click)="randomString()" class="d-inline bg-primary btn-lg text-white">Generate code</button>
</div>
<div class="card-body">
<h1 class="display-2 text-dark">{{codeGenerated}}</h1>
</div>
</div>