0

我制作了一个自定义滑块,可以在这里看到。

问题在于以下代码段

let transX = cond(
  eq(gestureState, State.ACTIVE),
  diffClamp(add(offsetX, dragX), 0, 200),
  set(offsetX, add(offsetX, dragX)),
);

当手势处于活动状态时,我可以限制滑块的范围,但在手势完成时我无法设置限制。

我尝试在 中添加diffClampset方法cond,但这会将旋钮的位置固定到开头,并且整个滑块的行为方式很奇怪。

任何帮助将非常感激。

4

1 回答 1

1

在尝试使用 实现类似的东西时,我一直看到一些问题diffClamp,其中diffClamp不会在set. 我建议实施diffClampusingminmax.

像这样的东西:

let transX = cond(
  eq(gestureState, State.ACTIVE),
  max(0, min(200, add(offsetX, dragX))),
  set(offsetX, max(0, min(200, add(offsetX, dragX)))),
);
于 2020-04-26T00:41:19.937 回答