【问题标题】:How to set a maximum value for `ion-range`?如何为“离子范围”设置最大值?
【发布时间】:2018-07-21 11:25:07
【问题描述】:

我有以下ion-range 组件。

我将最小值和最大值分别设置为0120

但我也想将拇指的移动限制为低于120(上限)的值,例如:85,但保持之前的限制:0120

<ion-list>
    <ion-item>
        <ion-range min="0" max="120" pin="true" [(ngModel)]="myValue"></ion-range>
    </ion-item>
</ion-list>

例子:

知道如何实现这一目标吗?

谢谢!

【问题讨论】:

    标签: angular typescript ionic-framework ionic2 ionic3


    【解决方案1】:

    我也遇到过同样的问题,已经快速解决了!

    您可以将ionChange 事件添加到ion-range 组件并调用函数来更新范围的当前值。这将在每次更改范围值时触发该函数,但仅在匹配逻辑语句时更改当前值。

    重要提示:有趣的是,对于单旋钮范围,您还需要将debounce 属性设置为非零正数(默认值为 0)。这告诉 Ionic 在触发 ionChange 事件之前应该等待多长时间。当debounce = 0 时,分配给保存该值的变量(即myValue)的值会在调用函数时发生变化,但是,仅单个旋钮范围不会发生范围位置的视觉变化(它工作正常带双旋钮范围)。这是 Ionic 团队应该研究的错误。

    例如,在您的.html 文件中添加ionChange 事件和debounce 属性:

    <ion-range min="0" max="120" pin="true" [(ngModel)]="myValue" (ionChange)="restrictValue()" debounce="1"></ion-range>
    

    并在您的.ts 文件中添加一个函数,在这种情况下为restrictValue()

    restrictValue () {
      if (this.myValue >= 85) {
        this.myValue = 85;
      }
    }
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 1970-01-01
      • 2017-03-01
      • 1970-01-01
      相关资源
      最近更新 更多