如何从Material Angular应用样式

猕猴桃

我需要添加一个具有Material Angular 2样式的按钮。所以我有一个按钮可以做到这一点:

<button mat-button (click)="addElement($event, 'button')">Add button</button>

其中定义了addElement:

addElement(ev, tag) {
    const htmlElem = ev.currentTarget;
    const el = this.renderer.createElement(tag);
    this.renderer.setAttribute(el, 'mat-button', '');
    el.textContent = 'New Button';

    htmlElem.parentNode.insertBefore(el, null);
  }

单击按钮,然后在我的HTML中创建一个新元素,如下所示:

<button mat-button">Add button</button>

功能代码可以正确生成按钮,但是并不能应用所有子元素,如物料代码中的原始按钮代码所示

那么,我是否有办法“刷新”按钮,以便标准Mat按钮的所有内容都适用于通过JS代码添加的按钮?

Brijmcq

我不确定为什么要动态生成按钮,但是我会这样做

在您的模板中:

<button mat-raised-button (click)="addNewButton()">Add new </button>
<div  *ngFor="let btn of buttonsList">
<button mat-raised-button color="primary">
  {{btn+1}}
</button>
</div>

在您的组件中:

export class AppComponent  {
  buttonsList = [];

  addNewButton():void{
    const newId = this.buttonsList.length;
    this.buttonsList.push(newId);
  }
}

您只需要遍历数组并显示按钮。每次添加新按钮时,只需将新值推入数组,然后让框架进行繁重的工作即可。

这是stackblitz演示:https ://stackblitz.com/edit/angular-7rfwrx ? file = app%2Fapp.component.ts

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Angular Material 不应用样式

Angular 4如何应用动态样式?

如何在组件样式中应用内置主题变量的 angular-material?

如何添加Angular Material组件的特定样式

如何在 angular6 中应用样式

如何在Angular 7应用中设置React组件的样式

如何在 Angular Material 中设置按钮 CSS 样式?

Angular Material 2:如何设置md-grid-tile的样式?

更改 Angular Material 表格样式

如何获得Angular Material Icon在Angular应用中显示轮廓?

如何在 Angular 中为整个应用程序 angular 4 使用样式

如何使用Material UI将我的CRA应用程序的scss样式应用?

Angular Material2主题设置-如何设置应用背景?

如何使CSS样式覆盖JavaScript应用的样式

如何覆盖 Angular Material Purple?

如何重叠 Angular Material 项目

如何验证Angular Material Datepicker?

Angular 11 - 如何使用 Angular Material 设置文件输入按钮的样式

Angular 10-如何使用Angular Material设置文件输入按钮的样式

如何始终将focusVisible样式应用于聚焦的Material-UI Button组件?

如何将Material-UI按钮样式应用于html-native按钮

如何在Angular中将样式应用于自定义组件内容?

如何在Angular中应用带有百分比的样式?

如何使用 css 样式表更改已生成的 angular 应用程序 - 使用 scss

Angular 6-如何在组件级别应用外部CSS样式表(传单)?

如何在angular 5应用程序主体中添加样式标签

在Angular JS中使用ng-print时如何应用css样式

如何使用 Renderer2 将样式应用到 ElementRef -> nativeElement 在 Angular 的子节点

Angular:如何通过在条件中使用日期管道有条件地应用样式?