Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度6材料垫选择更改方法已删除_Angular_Angular6 - Fatal编程技术网

Angular 角度6材料垫选择更改方法已删除

Angular 角度6材料垫选择更改方法已删除,angular,angular6,Angular,Angular6,在角材料设计6中,取消了更改方法。 当用户更改选择时,我找不到如何替换change方法来执行组件中的代码 谢谢 如果您使用的是被动表单,您可以像这样监听select控件的更改 this.form.get('mySelectControl').valueChanges.subscribe(value => { ... do stuff ... }) 用户将其从change更改为selectionChange 现在是 <mat-select (selectionChange)="doS

在角材料设计6中,取消了更改方法。 当用户更改选择时,我找不到如何替换change方法来执行组件中的代码
谢谢

如果您使用的是被动表单,您可以像这样监听select控件的更改

this.form.get('mySelectControl').valueChanges.subscribe(value => { ... do stuff ... })
用户将其从change更改为selectionChange

现在是

<mat-select (selectionChange)="doSomething($event)">
对我来说,selectionChange和建议的onSelectionChange不起作用,我没有使用ReactiveForms。我最终使用的是valueChange事件,如:

<mat-select (valueChange)="someFunction()">
这对我来说很有用,因为:

1 mat select selectionChange=My功能以角度方式工作,如下所示:

sample.component.html

 <mat-select placeholder="Select your option" [(ngModel)]="option" name="action" 
      (selectionChange)="onChange()">
     <mat-option *ngFor="let option of actions" [value]="option">
       {{option}}
     </mat-option>
 </mat-select>
<select (change)="onChange()" [(ngModel)]="regObj.status">
    <option>A</option>
    <option>B</option>
    <option>C</option>
</select>
2个简单的html select change=My函数在以下情况下工作:

sample.component.html

 <mat-select placeholder="Select your option" [(ngModel)]="option" name="action" 
      (selectionChange)="onChange()">
     <mat-option *ngFor="let option of actions" [value]="option">
       {{option}}
     </mat-option>
 </mat-select>
<select (change)="onChange()" [(ngModel)]="regObj.status">
    <option>A</option>
    <option>B</option>
    <option>C</option>
</select>

我今天和mat option group有这个问题。 解决问题的方法是在其他提供的mat select事件中使用: 价值变化

我在这里写了一些代码,以便于理解:

<mat-form-field >
  <mat-label>Filter By</mat-label>
  <mat-select  panelClass="" #choosedValue (valueChange)="doSomething1(choosedValue.value)"> <!-- (valueChange)="doSomething1(choosedValue.value)" instead of (change) or other event-->

    <mat-option >-- None --</mat-option>
      <mat-optgroup  *ngFor="let group of filterData" [label]="group.viewValue"
                    style = "background-color: #0c5460">
        <mat-option *ngFor="let option of group.options" [value]="option.value">
          {{option.viewValue}}
        </mat-option>
      </mat-optgroup>
  </mat-select>
</mat-form-field>

Mat版本:

@角度/材料:^6.4.7


值得注意的是,使用上述反应式表单方法,您与UI的联系更少,并且随着UI框架的发展,出现问题的可能性也更小。请注意,如果需要。updateValueAndValidity控件不要忘记传递{emitEvent:false},以避免RangeError:超过最大调用堆栈大小。另一方面,感谢提示+1,它引导我找到了我需要的。如果我遵循这种方法,我是否应该在Ngondestory中取消订阅?你总是需要清理订阅以避免内存泄漏和意外行为。我非常讨厌这样。昨天我觉得升级到Angular 6是个凉爽的一天。他们再次更改了语法。他们需要一个changeEventChange事件来检测更改事件的更改时间。selectionChange现在更新为onSelectionChange。@Debadatta-您在哪里看到这个?我仍然看到selectionChange上面的所有评论只是进一步强调了为什么在可能的情况下,按照我下面的回答,坚持采用反应式的方式是有意义的。顺便说一句,我认为这些评论不太公平,因为棱角材料的家伙们做了一项惊人的工作,我们免费得到它
<mat-form-field >
  <mat-label>Filter By</mat-label>
  <mat-select  panelClass="" #choosedValue (valueChange)="doSomething1(choosedValue.value)"> <!-- (valueChange)="doSomething1(choosedValue.value)" instead of (change) or other event-->

    <mat-option >-- None --</mat-option>
      <mat-optgroup  *ngFor="let group of filterData" [label]="group.viewValue"
                    style = "background-color: #0c5460">
        <mat-option *ngFor="let option of group.options" [value]="option.value">
          {{option.viewValue}}
        </mat-option>
      </mat-optgroup>
  </mat-select>
</mat-form-field>