【问题标题】:Alter Value of Material Slide Toggle based on user response to javascript 'confirm'根据用户对 javascript 'confirm' 的响应更改 Material Slide Toggle 的值
【发布时间】:2017-09-07 02:25:24
【问题描述】:

我正在实现一个 Angular Material Slide Toggle。如果用户将切换从真切换为假,我想显示确认以确保他们想要这样做。如果他们说取消,我想保持滑动切换设置为真。我做错了什么?

这是组件的html:

<md-slide-toggle checked="checked" (change)="changeEvent($event)">Slide Toggle</md-slide-toggle>

还有组件的打字稿:

changeEvent(ev) {
    if (ev.checked === false) {
      var x = confirm("Are you sure?")
      if (!x) {
        return ev.checked === false; 
      }
    }
  }

这里有一个 plunker 展示了我到目前为止所拥有的...http://plnkr.co/edit/WP55vlFQBljgKM0jkf2R?p=preview

我怎样才能做到这一点?

【问题讨论】:

    标签: javascript html angular angular-material slidetoggle


    【解决方案1】:

    拳头,为滑块设置一个模型并更改名称(“检查”似乎会导致问题)。也使用 [] 作为checked 属性。然后在对话框中取消或确认时将该值设置为真或假。否则ev.checked 值会“丢失”,它不会做任何事情:

    HTML:

    <md-slide-toggle [checked]="myValue" (change)="changeEvent($event)">Slide Toggle</md-slide-toggle>
    

    TypeScript:

    ... 
    if (ev.checked === false) {
          var x = confirm("Are you sure?")
          if (!x) {
            this.myValue = true; 
          }
    }
    

    Plunker

    【讨论】:

      猜你喜欢
      • 2020-03-25
      • 2021-05-24
      • 2019-09-15
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 2022-10-18
      • 2019-04-13
      • 2018-10-06
      相关资源
      最近更新 更多