单击按钮时,应克隆具有 emails
类的元素。
HTML:
<form id="add-user">
<div class="email-container">
<div class="emails">
<mat-form-field class="email full-width">
<input matInput class="email-field" type="email" required placeholder="E-Mail">
</mat-form-field>
</div>
</div>
<i class="material-icons icon" id="addEmailField" (click)="clone()">add_box</i>
</form>
TS:
public clone(): void {
const clone = document.querySelector('.emails').cloneNode(true); // clone the selector .emails
document.querySelector('.email-container').appendChild(clone); // append it to .email-container
}
克隆部分可以工作,但问题是克隆元素的占位符。如果我在文本字段中输入内容,它不会消失。
这就是我在克隆元素中键入内容时的样子:
我做错了什么? 运行并测试它 here .
最佳答案
cloneNode()
克隆 DOM - 它不会克隆 Angular 对象。您必须以“Angular”方式克隆 Angular 组件。参见这篇文章:https://stackoverflow.com/a/41921531/9226213 .
关于javascript - 输入时占位符不会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51478824/