angular - 如何在单击角度 4 中的按钮时添加新行
问题描述
我有下面的代码来创建一行和一个按钮 Add Person。单击添加人员后,我想再创建一行,其中包含人员 2、人员 3 等。 . 我怎样才能实现它。
<div class="splitTheBill-row">
<div class="splitTheBill-left">
<div class="userIcon">
<div class="splitTheBill-user">
<img src="assets/images/person.png" alt="My Profile">
</div>
<div class="input-field national-id pull-left">
<input id="form3" class="form-control" type="text">
<label for="form3" class="">Person 1</label>
</div>
</div>
</div>
<div class="splitTheBill-right">
<div class="input-field national-id pull-left">
<input id="form4" class="form-control" type="text">
</div>
</div>
</div>
<div class="addperson-btncont">
<div class="reg-submitCont">
<button url="#" class="btn-secondary waves-effect waves-light btn">Add Person</button>
</div>
</div>
解决方案
您需要使用*ngFor
来遍历您的人员,如下所示:
<div class="splitTheBill-left">
<div *ngFor="let person of persons">
<div class="userIcon">
<div class="splitTheBill-user">
<img src="assets/images/person.png" alt="My Profile">
</div>
<div class="input-field national-id pull-left">
<input id="form3" class="form-control" type="text">
<label for="form3" class="">{{person.name}}</label>
</div>
</div>
</div>
</div>
然后,您可以在 TS 中创建一个表示人员的数组:
persons = [
{"name": "Person 1"}
]
要添加新行,您需要做的就是将一个新人推入该数组
this.persons.push({"name": "Person " + (this.persons.length + 1)})
推荐阅读
- swift-package-manager - 快速包管理器没有找到 KituraNet
- maven - Maven 使用 Kuali S3 Wagon - 如何将 AWS 凭证移动到 pom.xml?
- python - 设置 pd.to_datetime 的格式
- typescript - Algolia 多关键字搜索
- testing - 有没有办法为 Apple App Store 收据验证创建特定于 Sandox 的共享密钥?
- flutter - Flutter:在启动时初始化变量
- c++ - OpenGL颜色半个立方体
- swift - Swift 4 - 致命错误:索引超出范围
- unit-testing - 使用 vue-test-utils 为单元测试设置 Vue 计算属性
- excel - 从 0 到 2*pi 的正弦函数,步长为 0.1