Javascript 材质设计滑动切换没有event.StopPropagation,我应该使用什么?

Javascript 材质设计滑动切换没有event.StopPropagation,我应该使用什么?,javascript,jquery,html,angular,material-design,Javascript,Jquery,Html,Angular,Material Design,材质设计中的滑动切换没有StopRopAgation事件,因为“MdSlideToggle.prototype.\u onChangeEvent”已调用StopRopAgation。我应该用什么来代替呢 <md-slide-toggle (change)="changeToggle($event, activityType.isActive)" checked="activityType.isActive" value="activityType.activityTypeId" mdToo

材质设计中的滑动切换没有StopRopAgation事件,因为“MdSlideToggle.prototype.\u onChangeEvent”已调用StopRopAgation。我应该用什么来代替呢

<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.preventDefault也是如此。我需要要求用户在更改页面上的另一个值之前保存更改,因为“业务需求”

只是将“checked”的值更改回原来的值,是正确的做法吗?有更好的方法吗

“在更改之前,我需要要求用户保存更改 “页面上的另一个值”

我知道这是离题的,但这与您的“业务需求”有关 如果您的意思是用户必须按下单独的按钮才能确认垫子滑动开关的值,则不应使用垫子滑动开关。 您应该使用复选框

垫子滑动开关适用于一次性操作,打开或关闭灯,而不是询问您是否想要打开或关闭灯。 这是行动,不是问题


复选框更适合提问。

我完全同意你所说的。如果我没记错的话,我被产品负责人否决了。
event.source.checked = !event.checked;