javascript - 输入时占位符不会消失

标签 javascript typescript angular-material angular6

单击按钮时,应克隆具有 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
}

克隆部分可以工作,但问题是克隆元素的占位符。如果我在文本字段中输入内容,它不会消失。

这就是我在克隆元素中键入内容时的样子:

enter image description here

我做错了什么? 运行并测试它 here .

最佳答案

cloneNode() 克隆 DOM - 它不会克隆 Angular 对象。您必须以“Angular”方式克隆 Angular 组件。参见这篇文章:https://stackoverflow.com/a/41921531/9226213 .

关于javascript - 输入时占位符不会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51478824/

相关文章:

javascript - 使用 Javascript/jQuery 引用没有 id 的表的行,同时保存其中一行的实例

javascript - 关于 Menu Child's Slide Toggle jQuery

javascript - 在类中声明对象类型

angular - toLowerCase 在类型上不存在。 typescript

angular - 如何从元素内部关闭/关闭Angular Snackbar元素

Angular Material Table,通过订阅对表进行动画更改

javascript - 关于 JavaScript 编译阶段

javascript - WSO2 ESB 中如何选择类中介器或脚本中介器?

javascript - TypeScript:有没有办法扩展多个接口(interface)并合并相同的属性?

javascript - 以 ngIf 为条件禁用/启用 ngFor 内的多个按钮