ソースを参照

feat: 新增 clamp 函数 (#1901)

* fix: 修复 ImagePreview 在Taro编译成H5后报错的问题

* fix: 地址关闭时, Close 事件触发两次问题解决

* feat: 组件DatePicker 添加双向绑定

* docs: 组件Picker文档修改

* feat: 组件Picker与DatePicker新增属性safe-area-inset-bottom

* feat: imagepreview

* fix: 组件imagepreview点击视频遮罩关闭(#1729)

* fix: 解决 Picker 在微信小程序中无法使用问题 (#1774)

* fix: 修改 Picker 组件 v-model 失效问题

* fix: 组件NoticeBar修改height之后,垂直轮播会卡顿

* fix: 删除Datepicker Demo演示多余内容

* fix: 组件Picker在JD小程序上适配

* fix: 组件Address京东小程序适配

* feat: 京东小程序适配

* fix: 删除空格

* feat: 删除console

* fix: 京东小程序imagepreview适配

* fix: 修复 imagepreview 动态设置 initNo 显示不正确问题

* fix: 组件 InfiniteLoading 某些情况下会错误触发下拉刷新#1819

* fix: 删除pullrefresh

* feat: 组件 imagepreview瘦身

* feat: 组件Picker 瘦身

* fix: address线上问题修改

* fix: 完善imagepreview

* feat: 公共函数提取

* feat: 函数式改用 createComponent

* fix: 文件回撤

* feat: 单元测试修改

* fix: 组件popover样式问题修改

* feat: 新增 clamp 函数
yangxiaolu1993 3 年 前
コミット
ad3647f3e5

+ 1 - 3
src/packages/__VUE/imagepreview/imagePreviewItem.vue

@@ -17,7 +17,7 @@
 import { toRefs, reactive, watch, computed, CSSProperties, PropType } from 'vue';
 import { createComponent } from '@/packages/utils/create';
 import { useTouch } from '@/packages/utils/useTouch';
-import { preventDefault } from '@/packages/utils/util';
+import { preventDefault, clamp } from '@/packages/utils/util';
 import { ImageInterface } from './types';
 import { baseProps } from './types';
 const { create } = createComponent('imagepreviewitem');
@@ -262,8 +262,6 @@ export default create({
       touch.reset();
     };
 
-    const clamp = (num: number, min: number, max: number): number => Math.min(Math.max(num, min), max);
-
     const closeSwiper = () => {
       emit('close');
     };

+ 2 - 2
src/packages/__VUE/picker/Column.vue

@@ -29,7 +29,7 @@
 import { reactive, ref, watch, computed, toRefs, onMounted, PropType } from 'vue';
 import { createComponent } from '@/packages/utils/create';
 import { PickerOption, TouchParams } from './types';
-import { preventDefault } from '@/packages/utils/util';
+import { preventDefault, clamp } from '@/packages/utils/util';
 import { useTouch } from '@/packages/utils/useTouch';
 const { create } = createComponent('picker-column');
 
@@ -223,7 +223,7 @@ export default create({
         const maxDeg = (props.column.length + 1) * state.rotation;
         const minDeg = 0;
 
-        deg = Math.min(Math.max(currentDeg, minDeg), maxDeg);
+        deg = clamp(currentDeg, minDeg, maxDeg);
 
         if (minDeg < deg && deg < maxDeg) {
           setTransform(updateMove, null, undefined, deg + 'deg');

+ 2 - 1
src/packages/__VUE/picker/ColumnTaro.vue

@@ -31,6 +31,7 @@ import { reactive, ref, watch, computed, toRefs, onMounted, PropType } from 'vue
 import { createComponent } from '@/packages/utils/create';
 import { PickerOption, TouchParams } from './types';
 import { useTaroRect } from '@/packages/utils/useTaroRect';
+import { clamp } from '@/packages/utils/util';
 import { useTouch } from '@/packages/utils/useTouch';
 const { create } = createComponent('picker-column');
 import Taro from '@tarojs/taro';
@@ -241,7 +242,7 @@ export default create({
         const maxDeg = (props.column.length + 1) * state.rotation;
         const minDeg = 0;
 
-        deg = Math.min(Math.max(currentDeg, minDeg), maxDeg);
+        deg = clamp(currentDeg, minDeg, maxDeg);
 
         if (minDeg < deg && deg < maxDeg) {
           setTransform(updateMove, null, undefined, deg + 'deg');

+ 2 - 0
src/packages/utils/util.ts

@@ -138,3 +138,5 @@ export const padZero = (num: number | string, length = 2): string => {
   }
   return num.toString();
 };
+
+export const clamp = (num: number, min: number, max: number): number => Math.min(Math.max(num, min), max);