小编Edr*_*ric的帖子

材料图标大纲图标不起作用

我在那里我正在尝试使用谷歌材料图标.我从来没有遇到任何问题但是由于他们更新了,我找不到关于如何使用那里概述集的答案.有些人工作但有些人没有.

例如,我正在尝试使用大纲集中的account_circle图标,但无法弄清楚如何!

https://material.io/tools/icons/?search=account%20circ&icon=account_circle&style=outline

欢迎任何帮助.最后一件事是我通过Google Web Fonts加载Material Icons.

问候.

fonts icons material-design

5
推荐指数
1
解决办法
2781
查看次数

mat-error用于单独的组件无法正确呈现

我想使用mat-errors在我的Angular 5 SPA中呈现服务器端错误.

这是我到目前为止所做的,它的确有效

<mat-form-field class="col-6">
    <input matInput formControlName="firstName">
    <mat-error [hidden]="!form.controls.firstName.hasError('required')">This field is required and cannot be empty</mat-error>
    <mat-error [hidden]="!form.controls.firstName.hasError('other')">Some other error</mat-error>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

表单的每个字段看起来都很相似.输入字段和下面的许多mat-error标记.单个输入字段附加了大量重复代码.此外,添加新的错误消息会导致在需要它的每个字段中添加它.我认为这是一个很好的空间来引入管理错误消息的组件,并注入表单控件它决定显示哪个错误(我希望所有字段都有常见的错误消息).

所以我想这样做

<mat-form-field class="col-6">
    <input matInput formControlName="firstName">
    <app-mat-errors [field]="form.controls.firstName"></app-map-errors>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

并且在app-mat-errors组件模板中包含mat-error我们曾经在每个字段中拥有的所有代码

<mat-error [hidden]="!field.hasError('required')">This field is required and cannot be empty</mat-error>
<mat-error [hidden]="!field.hasError('other')">Some other error</mat-error>
etc....
Run Code Online (Sandbox Code Playgroud)

使用这种方法,我遇到了正确渲染组件的问题.

当放入时<app-mat-errors>,<mat-error>标签嵌入app-mat-errors标签中并且没有正确显示(即使没有错误,它们也不会始终显示和显示)

有没有什么方法角度可以渲染组件没有父标签?或者您有任何想法如何使其正常工作?提前致谢.

angular-material angular-material2 angular

5
推荐指数
1
解决办法
2013
查看次数

防止在按下逃生按钮时关闭“角度材质对话框”,但在单击背景幕时允许关闭

默认情况下,当esc按下按钮时,对话框关闭。但是,我不希望这种预期的行为。

我想做的是防止在esc按下按钮时关闭窗口,但仍然允许在背景上单击以关闭对话框。如何才能做到这一点?

我已经尝试过这样的事情。但是,它不起作用:

openEditDialog() {
  const dialogRef = this.dialog.open(EditPlaceDialogComponent, {
    width: '90%',
    height: '720px'
  });

  dialogRef.keydownEvents().subscribe(e => {
    if (e.keyCode === 27) {
      e.preventDefault();
      dialogRef.disableClose = false;
    }
  });

  dialogRef.afterClosed().subscribe(result => {
    console.log('The dialog was closed');
  });
}
Run Code Online (Sandbox Code Playgroud)

angular-material angular-material2 angular

5
推荐指数
1
解决办法
1万
查看次数

避免 Angular Material Autocomplete 显示 mat-options 当它为空时

我开始在我的一个项目中使用 Material。查看<mat-autocomplete>文档网站的示例...

<mat-form-field class="example-full-width">
  <input matInput placeholder="State" aria-label="State" [matAutocomplete]="auto" [formControl]="stateCtrl">
    <mat-autocomplete #auto="matAutocomplete">
    <mat-option *ngFor="let state of filteredStates | async" [value]="state.name">
    <span>{{state.name}}</span> |
  </mat-option>
</mat-autocomplete>
Run Code Online (Sandbox Code Playgroud)

ts:

    export class AutocompleteOverviewExample {        
      stateCtrl = new FormControl();
      filteredStates: Observable<State[]>; 
      states: State[] = [
            { name: 'Arkansas'  },
            ...
            { name: 'Texas' }
          ];

          constructor() {
            this.filteredStates = this.stateCtrl.valueChanges
              .pipe(
                startWith(''),
                map(state => state ? this._filterStates(state) : this.states.slice())
              );
          }

          private _filterStates(value: string): State[] {
            const filterValue = value.toLowerCase();
            return this.states.filter(state => state.name.toLowerCase().indexOf(filterValue) …
Run Code Online (Sandbox Code Playgroud)

typescript angular-material angular

5
推荐指数
1
解决办法
6955
查看次数

Angular 4-如何在ngFor循环内为标签提供唯一的ID值?

我遇到了一个问题,我需要为*ngFor角度4中的循环内的每个数据行提供唯一的id值。

我的代码是这样的:

<div *ngFor="let row of myDataList">
  <div id="thisNeedsToBeUnique">{{ row.myValue }}</div>
</div>
Run Code Online (Sandbox Code Playgroud)

html typescript angular

5
推荐指数
2
解决办法
3573
查看次数

带有表单控件的物料日期选择器蒙版

当我将Angular 6 Material Date Picker与任何遮罩(ngx-mask,angular2-mask,angular2-text-mask)结合使用并使用时formControlName,出现错误:

错误:多个自定义值访问器将表单控件与未指定名称属性匹配

是否有适用于“物料日期选取器”和formControlName属性的蒙版?

<input matInput [matDatepicker]="myDatepicker" formControlName="dateOfbrd" mask="00/00/0000">
  <mat-error *ngFor="let validation of validationMessages.dateOfDischarge">
  <mat-error class="error-message" *ngIf=enrfrm.get('dateOfbrd').hasError(validation.type)">
    {{validation.message}}
  </mat-error>
</mat-error>
<mat-datepicker-toggle matSuffix [for]="myDatepicker"></mat-datepicker-toggle>
<mat-datepicker #myDatepicker></mat-datepicker>
Run Code Online (Sandbox Code Playgroud)

angular-material angular angular-reactive-forms

5
推荐指数
1
解决办法
1336
查看次数

是否可以在特定的 DOM 元素上打开 Angular/Material2 Snackbar?

组件: https: //material.angular.io/components/snack-bar/examples

我有一个页面是父部分('#wrapper_container')。我想在“#wrapper_element”的子元素的中心弹出小吃栏。

谢谢

angular-material2 angular angular-material-6

5
推荐指数
2
解决办法
4134
查看次数

如何使用 Material ui 处理快速拨号操作?

我有三个操作支持我的 SpeedDialAction,但是当我尝试记录单个操作的 onClick 事件时,我得到了未定义的信息。

我尝试过使用不同的函数作为操作,还在方法调用中尝试了箭头函数语法

onClick={e => action.action(e)}
Run Code Online (Sandbox Code Playgroud)

onClick={action.action}
Run Code Online (Sandbox Code Playgroud)

行动:

const actions = [
    { icon: <Add />, name: 'Product', action: handleDialogOpen },
    { icon: <Add />, name: 'Addon', action: handleDialogOpen },
    { icon: <Label />, name: 'Tag', action: handleDialogOpen }
  ]
Run Code Online (Sandbox Code Playgroud)

快速拨号:

<SpeedDial
          ariaLabel='SpeedDial example'
          className={classes.speedDial}
          icon={<SpeedDialIcon />}
          onBlur={handleClose}
          onClick={handleClick}
          onClose={handleClose}
          onFocus={handleOpen}
          onMouseEnter={handleOpen}
          onMouseLeave={handleClose}
          open={open}
        >
          {actions.map(action => (
            <SpeedDialAction
              tooltipOpen
              key={action.name}
              icon={action.icon}
              tooltipTitle={action.name}
              onClick={action.action}
            />
          ))}
        </SpeedDial>
Run Code Online (Sandbox Code Playgroud)

handleDialogOpen 只是尝试记录事件

我希望输出是一个事件对象,而不是未定义的。

user-interface reactjs material-ui speed-dial

5
推荐指数
1
解决办法
6159
查看次数

静态服务时,来自不同组件的 React + Material-UI 样式类会发生冲突

问题:重新渲染组件时,应用于由 Material-UI/JSS 生成的类名的样式会错误地更改。

设置:我正在提供一个create-react-app使用 Material-UI jss 样式和 Rails 后端的 React 应用程序(使用 构建)。我不确定 Rails 部分的相关性,因为当我build/index.html直接在本地机器上打开文件时会发生同样的事情——Rails 后端处理根请求以提供静态客户端文件,如此处所示。在任何一种情况下,静态构建都是使用 来创建的npm run build,它运行react-scripts build(从create-react-app)。

问题示例:我有一个<img>给定的元素className: {classes.logo}。构建后,classes.logois "jss3",它采用以下正确的 CSS:

.jss3 {
    height: 50px;
    position: relative;
    // [...more]
}
Run Code Online (Sandbox Code Playgroud)

这看起来像这样 -<img>组件位于应用程序标题的左上角。

在此处输入图片说明

我“继续作为客人”,并呈现新组件。但是请注意徽标图像,它现在具有新样式:

在此处输入图片说明

发生了什么?该<img>组件现在显示以下样式:

.jss3 {
    height: 2em;
    padding: 7px;
    overflow: scroll;
    position: relative;
}
Run Code Online (Sandbox Code Playgroud)

这个 css 来自不同组件的完全不同的样式对象:

// FileEntry.js

  fileEntry: {
    position: 'relative',
    padding: …
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui jss

5
推荐指数
1
解决办法
3458
查看次数

角度材质数据表加载缓慢

我的角度材料应用程序遇到了一些麻烦。我正在使用带有分页器的数据表。数据不必排序。

加载数据时,我显示了一个垫子旋转器

<div *ngIf="schools !== undefined">
        <mat-spinner *ngIf="showSpinner" style="margin:0 auto;"></mat-spinner>
        <div *ngIf="!showSpinner">
            Keine Daten gefunden.
        </div>
</div>
<div *ngIf="schools !== undefined">
   <mat-table [dataSource]="dataSource"> 
      ...
   </mat-table>
   <mat-paginator [pageSizeOptions]="[10, 20, 50, 100]" [pageSize]="20" showFirstLastButtons></mat-paginator>
</div>
Run Code Online (Sandbox Code Playgroud)

在正常情况下,我正在加载数据,当加载数据时,旋转器停止旋转,然后显示数据。这工作得很好。

但是对于一个大约有 400 行的表,我遇到了这个问题:

当数据成功加载时,旋转器变得非常非常慢大约一秒钟,并且数据表显示所有内容。(由分页符分隔)

从 api 加载数据大约需要 400 毫秒,解析数据大约需要 3 毫秒,所以这不应该是问题。

我正在这样加载数据:

ngOnInit() {
    setTimeout(() => {
      this.showSpinner = false;
    }, 5000);

    this.userID = this.authService.getCurrentUser.uid;
    this.loadData();
}

loadData() {
    this.apiService.getSchools().subscribe((schoolsData: any) => {
      this.schools = this.refParser.parse(schoolsData);
      this.dataSource = new MatTableDataSource(this.schools);

      this.cdr.detectChanges();
      this.dataSource.paginator = this.paginator;
    });
} …
Run Code Online (Sandbox Code Playgroud)

datatable performance angular-material angular

5
推荐指数
1
解决办法
1万
查看次数