gpt4 book ai didi

javascript - Material Design Slide Toggle 没有 event.StopPropagation,我应该使用什么?

转载 作者:太空狗 更新时间:2023-10-29 19:29:33 29 4
gpt4 key购买 nike

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”的值改回原来的值是正确的做法吗?有更好的方法吗?

最佳答案

"I need to require the user to save the change, before changing another value on the page"

我知道这是题外话,但这与您的“业务需求”有关如果你说用户必须按下一个单独的按钮才能确认 mat-slide-toggle 的值,那么你不应该使用 mat-slide-toggle。您应该使用复选框。

mat-slide-toggles 适用于一次性操作,打开或关闭灯,而不是询问您是否要打开或关闭灯。这是一个行动,而不是一个问题。

复选框更适合提问。

关于javascript - Material Design Slide Toggle 没有 event.StopPropagation,我应该使用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43239052/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com