标签: angular-material2

使用 Angular Material Calendar 时如何设置“startAt”日期?

我正在使用 material2 v2.0.0-beta.10 以及 Angular v4,并且在使用md-calendar组件时遇到问题。我的问题是我无法将startAt日期设置为任何内容。

我将开始日期设置为昨天,如下所示:

  this.startAt = new Date();
  this.startAt = this.startAt.setDate(this.startDate - 1);
Run Code Online (Sandbox Code Playgroud)

是一个尝试将startAt日期设置为昨天的 Plunkr 。

我错过了什么?

javascript typescript angular-material angular-material2 angular

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

为材质 2 重置 <md-checkbox>

我正在使用角材料 2 库和md-checkbox元素。

就像是:

<md-checkbox id="myInput"
             labelPosition="after"
             (change)="toggleOnChange($event)">
  Label
</md-checkbox>
Run Code Online (Sandbox Code Playgroud)

稍后在一些其他事件(与此输入无关)我想重置其状态(如果选中,则标记为未选中)。我该怎么做?API支持吗?根据文档,没有这样做的方法。

如果我尝试在元素上切换类,则“视觉上”会取消选中它,但会保留状态。

angular-material angular-material2 angular

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

Material 2 Form Control Select 不使用异步源

我正在使用 Material 2.0.0-beta.12 运行 Angular 4.3.4,并且在尝试创建 mat-select 以从异步源生成动态 mat-option 列表时遇到问题。我得到的只是占位符,下拉列表不会扩展。我什至没有收到错误代码。

这是我的代码更新示例:

 <form [formGroup]="snoozeForm" novalidate>
  <div fxLayout="column">
    <mat-form-field>
      <mat-select formControlName="snooze_reason">
        <mat-option [value]="reason.attributes.snooze_reason_code" *ngFor="let reason of reasons">{{ reason }}</mat-option>
      </mat-select>
    </mat-form-field>
</form>
Run Code Online (Sandbox Code Playgroud)

如您所见,原因是动态填充的数组。我一定忽略了一些简单的事情,但我确信原因越来越多。

这是我填充数组的地方:

ngOnInit() {
  this.generateForm();
  this.httpService.getSnoozeReasons()
    .subscribe( res => {
      this.reasons = res;
    }, (error: any) => {
      const msg: Message = { title: 'Frontend API Error', textbody1: '' };
      if (error.message) {
        msg.textbody1 = <any>error.message;
        msg.textbody2 = `Task-details component - Snooze reasons`;
      } …
Run Code Online (Sandbox Code Playgroud)

angular-material2 angular angular4-forms

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

带工具栏的角度全屏布局

Angular 4.4.4 Angular Material 2.0.0-beta.12

我正在尝试实现桌面布局,其中屏幕顶部有一个 Angular Material Toolbar,router-outlet下面的内容填充剩余的屏幕高度。我希望router-outlet内容填充屏幕高度,以便我可以将任何子/孙组件的高度设置为 100%,直到我想提供滚动条为止。

我已经回到基础去尝试只div用一个边框来填充工具栏下方剩余的空间,但我什至无法让它工作。看起来好像替换的组件router-outlet是全屏的高度,不考虑其上方的工具栏。

app.component的如下:

<div id="app-component" style="height: 100%; border: 1px solid red;">

    <!-- Application Toolbar -->
    <mat-toolbar id="mat-toolbar" color="primary" style="margin: 0; padding: 0;">

        <span style="padding-right: 16px;">Indigo</span>

        <nav id="tabNavBar" #tabNavBar mat-tab-nav-bar>
            <a mat-tab-link *ngFor="let tabNavLink of tabNavLinks"
               [routerLink]="[tabNavLink.path]"
               routerLinkActive
               #rla="routerLinkActive"
               [routerLinkActiveOptions]="{exact: true}"
               [active]="rla.isActive"
               (click)="onClickTab(tabNavLink)"
               style="height: 64px;">
                {{ tabNavLink.label }}
            </a>
        </nav>

    </mat-toolbar>

    <!-- Application Module Content -->
    <router-outlet></router-outlet>

</div>
Run Code Online (Sandbox Code Playgroud)

目标组件router-outlet如下:

<div …
Run Code Online (Sandbox Code Playgroud)

html angular-material2 angular

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

角度输入时间掩码

我有反应形式的这个输入(材料 2)。而且我知道在此输入上放置时间掩码 (hh:mm) 的更好方法。或者我怎样才能为此建立一个指令?

<div class="col-md-2 hours">
  <label for="floating-placeholder">Horário</label>
  <div>
    <input class="col-md-5 end" matInput placeholder="hh:mm" value="" name="end" minlength="4" maxlength="4" formControlName="start">
    às
    <input class="col-md-5 end" matInput placeholder="hh:mm" value=""  name="end" formControlName="end">
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

angular-material2 angular

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

如何过滤多个材料选择中的项目

我想在 Material2 中过滤多个 选择

为此,我尝试在mat-option类似的东西上使用一个简单的过滤器管道: transform() { ... return value.filter(v => v.value === argtext); }

问题来了,

首先,我选择一些项目。

然后,我按关键字过滤我过滤了新项目。

现在我可以看到我之前的选择丢失了。

这是因为每次过滤器更改选项时,材料都会构建选项。并且每次也清除选择。所以我使用管道的想法对我不起作用。

这是带有选择和文本的示例

  1. 在我的示例中,选择“额外奶酪”、“香肠”。
  2. 在文本框中输入“蘑菇”。
  3. 选择此项。(蘑菇)
  4. 您可以在下面的浇头中看到,只有“蘑菇”被选中,而“额外的奶酪”、“香肠”已丢失。

感谢阅读/帮助

javascript angular-material2 angular

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

角度 2 材料 2 中的预填充垫自动完成

当我尝试编辑记录时,我无法设置 mat-autocomplete 的值我使用自动完成作为 FormBuilder 对象中的 FormControl 对象并设置从服务器接收的值我使用 Formbuilder.setValue()方法。但是这不会设置自动完成,尽管它向服务器发送请求,因为我正在使用 Observables 的 valueChanges 方法......任何帮助将不胜感激

以下是我正在使用的代码

组件.ts

this.filteredData = this.addDetailsForm.get('product').valueChanges
.debounceTime(400)
.do(value =>
{ let exist = this.myContent.findIndex(t => t.text === value);
if (exist > -1) return;
this._dataService.getSwiftProducts(value).subscribe((res: any[]) => { this.myContent = res; });
}).delay(500).map(() => this.myContent);
Run Code Online (Sandbox Code Playgroud)

组件.html

<div class="row">
<label class="col-lg-4 control-label">Product: </label>
<div class="col-lg-5">
<input type="text" class="form-control" (keyup.enter)="chooseFirstOption()" placeholder="Pick one" aria-label="Number" matInput ="product" formControlName="product" [matAutocomplete]="auto">
<p *ngIf="addDetailsForm.controls.product.errors">This field is required!</p>
<mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn"> <mat-option *ngFor="let option of filteredData | async" …
Run Code Online (Sandbox Code Playgroud)

angular-material2 angular

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

未从名称中检测到材质图标

试图模拟这个例子https://material.angular.io/components/icon/examples

这是我的组件代码:

import { Component, Input } from '@angular/core';

import { DomSanitizer } from '@angular/platform-browser';
import { MatIconRegistry } from '@angular/material';
import { MatFormFieldControl } from '@angular/material';
import { MatChipInputEvent } from '@angular/material';
import { ENTER, COMMA } from '@angular/cdk/keycodes';

@Component({
  selector: 'hello',
  template: `

      <mat-form-field class="demo-chip-list">
        <mat-chip-list #chipList>
          <mat-chip *ngFor="let fruit of fruits" [selectable]="selectable"
                  [removable]="removable" (remove)="remove(fruit)">
            {{fruit.name}}
            <mat-icon matChipRemove *ngIf="removable">cancel</mat-icon>
          </mat-chip>
          <input placeholder="New fruit..."
                [matChipInputFor]="chipList"
                [matChipInputSeparatorKeyCodes]="separatorKeysCodes"
                [matChipInputAddOnBlur]="addOnBlur"
                (matChipInputTokenEnd)="add($event)" />
        </mat-chip-list>
      </mat-form-field>
  `,
  styles: [`h1 { font-family: Lato; }`] …
Run Code Online (Sandbox Code Playgroud)

angular-material angular-material2 angular

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

如何在 Angular 5 中使用材料步进器

我目前对 Angular 有点陌生,我正试图弄清楚如何制作一个简单的步进器,它可以 (1) -- (2) -- (3)。

我有 html 作为 app.component.html

<mat-horizontal-stepper [linear]="true" #stepper>
    <mat-step label="Step 1">
        step 1
    </mat-step>
    <mat-step label="Step 2">
        step 2
    </mat-step>
</mat-horizontal-stepper>
Run Code Online (Sandbox Code Playgroud)

但是,我需要在打字稿中导入和执行哪些操作才能使其工作?我有 app.component.ts 作为

import { Component, ViewChild } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatButtonModule } from '@angular/material';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})

export class AppComponent {
  @ViewChild('stepper') stepper;
  changeStep(index: number) {
    this.stepper.selectedIndex = index;
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript frontend material-design angular-material2 angular

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

Angular Material mat-list-option

Material 2 中有没有办法通过事件函数检测复选框是真还是假。传递 $event 仅检测打字稿端的鼠标或键盘,需要检测它是选中还是未选中。

<mat-selection-list #list   >
  <mat-list-option *ngFor="let aser of fo; let i = index" (click)="onAreaListControlChanged(aser.ID, aser.Name, aser.Number, $event)"  checkboxPosition="before"    [value]="aser.Number" [selected]="aser.selected"  >
    <span style="font-size:11px"  >{{aser.selected}} {{aser.first}} - {{aser.Number}}</span>
  </mat-list-option>
</mat-selection-list>
Run Code Online (Sandbox Code Playgroud)

打字稿

onAreaListControlChanged(sid, sname, snum, $event) { if(checked==true else false}
Run Code Online (Sandbox Code Playgroud)

typescript angular-material2 angular

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