【发布时间】:2017-08-31 12:46:13
【问题描述】:
Material Design 中的 Slide Toggle 没有 stopPropagation 事件,因为“MdSlideToggle.prototype._onChangeEvent”已经调用了 stopPropagation。我应该改用什么?
<md-slide-toggle (change)="changeToggle($event, activityType.isActive)" checked="activityType.isActive" value="activityType.activityTypeId" mdTooltip="{{!!activityType.isActive ? 'Active' : 'Inactive'}}" mdTooltipPosition="left"></md-slide-toggle>
public changeToggle(event: MdSlideToggleChange, originalValue){
if (this.hasChange && event.checked !== originalValue){
event.stopPropagation();
//Results in error: [ts] Property 'stopPropagation' does not exist on type 'MdSlideToggleChange'.
} else {
this.hasChange = !this.hasChange;
}
}
我可以使用常规事件,但会出现“event.stopPropagation 不是函数”的异常。
目前,我将该行更改为:
event.source.checked = !event.checked;
event.preventDefault 也是如此。我需要要求用户保存更改,然后再更改页面上的另一个值,因为“业务需求”。
只是将“checked”的值改回原来的值,是正确的做法吗?有没有更好的方法来做到这一点?
【问题讨论】:
标签: javascript jquery html angular material-design