@dolphinweex/weex-vue-render 0.2.41 → 0.2.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.common.js +32 -12
- package/package.json +1 -1
package/dist/index.common.js
CHANGED
|
@@ -3373,8 +3373,8 @@ function watchAppear (context, fireNow) {
|
|
|
3373
3373
|
* 此处延时执行是临时规避措施,后续需要优化
|
|
3374
3374
|
*/
|
|
3375
3375
|
if (i == 0) {
|
|
3376
|
-
|
|
3377
|
-
|
|
3376
|
+
setTimeout(() => {
|
|
3377
|
+
detectAppear(el, visibleData, dir);
|
|
3378
3378
|
}, 1);
|
|
3379
3379
|
} else {
|
|
3380
3380
|
detectAppear(el, visibleData, dir);
|
|
@@ -6056,8 +6056,9 @@ var scrollable$1 = {
|
|
|
6056
6056
|
this._loadmoreReset = false;
|
|
6057
6057
|
var el = this.$el;
|
|
6058
6058
|
if (el) {
|
|
6059
|
-
|
|
6060
|
-
|
|
6059
|
+
// 根据weex官方文档查:loading组件是loading,其余都是loadmore
|
|
6060
|
+
// var eventName = this.weexType === 'scroller' ? 'loadmore' : 'loading';
|
|
6061
|
+
weex.utils.dispatchNativeEvent(el, 'loadmore');
|
|
6061
6062
|
}
|
|
6062
6063
|
}
|
|
6063
6064
|
}
|
|
@@ -7047,6 +7048,8 @@ function getLoading () {
|
|
|
7047
7048
|
},
|
|
7048
7049
|
watch: {
|
|
7049
7050
|
height: function height (val) {
|
|
7051
|
+
// 最大150像素
|
|
7052
|
+
val = Math.min(val, 150);
|
|
7050
7053
|
var offset = val + "px";
|
|
7051
7054
|
this.$el.style.height = offset;
|
|
7052
7055
|
this.$el.style.bottom = 0;
|
|
@@ -7734,7 +7737,8 @@ var slideMixin = {
|
|
|
7734
7737
|
}
|
|
7735
7738
|
},
|
|
7736
7739
|
|
|
7737
|
-
_slideTo: function _slideTo(index, isTouchScroll) {
|
|
7740
|
+
_slideTo: function _slideTo(index, isTouchScroll, transtionTime = null) {
|
|
7741
|
+
let slideTranstionTime = this.isTransform ? `transform ${transtionTime || TRANSITION_TIME / 1600}s ease-out` : `left ${transtionTime || TRANSITION_TIME / 1600}s ease-out`
|
|
7738
7742
|
var this$1 = this;
|
|
7739
7743
|
if (this.frameCount <= 0) {
|
|
7740
7744
|
return;
|
|
@@ -7782,7 +7786,7 @@ var slideMixin = {
|
|
|
7782
7786
|
lastNode.style.zIndex = '10';
|
|
7783
7787
|
|
|
7784
7788
|
// 执行向左滑动动画
|
|
7785
|
-
inner.style.transition =
|
|
7789
|
+
inner.style.transition = slideTranstionTime;
|
|
7786
7790
|
this.innerOffset += this._wrapperWidth;
|
|
7787
7791
|
this._setPosition(inner, this.innerOffset);
|
|
7788
7792
|
|
|
@@ -7795,7 +7799,7 @@ var slideMixin = {
|
|
|
7795
7799
|
this._setPosition(inner, this.innerOffset);
|
|
7796
7800
|
|
|
7797
7801
|
setTimeout(() => {
|
|
7798
|
-
inner.style.transition =
|
|
7802
|
+
inner.style.transition = slideTranstionTime;
|
|
7799
7803
|
}, 50);
|
|
7800
7804
|
}, TRANSITION_TIME);
|
|
7801
7805
|
|
|
@@ -7811,7 +7815,7 @@ var slideMixin = {
|
|
|
7811
7815
|
inner.appendChild(cloneNode);
|
|
7812
7816
|
|
|
7813
7817
|
// 执行向右滑动动画
|
|
7814
|
-
inner.style.transition =
|
|
7818
|
+
inner.style.transition = slideTranstionTime;
|
|
7815
7819
|
this.innerOffset -= this._wrapperWidth;
|
|
7816
7820
|
this._setPosition(inner, this.innerOffset);
|
|
7817
7821
|
|
|
@@ -7827,7 +7831,7 @@ var slideMixin = {
|
|
|
7827
7831
|
this._setPosition(inner, 0);
|
|
7828
7832
|
|
|
7829
7833
|
setTimeout(() => {
|
|
7830
|
-
inner.style.transition =
|
|
7834
|
+
inner.style.transition = slideTranstionTime;
|
|
7831
7835
|
}, 50);
|
|
7832
7836
|
}, TRANSITION_TIME);
|
|
7833
7837
|
|
|
@@ -7835,13 +7839,13 @@ var slideMixin = {
|
|
|
7835
7839
|
} else {
|
|
7836
7840
|
// 正常切换
|
|
7837
7841
|
this.innerOffset = -index * this._wrapperWidth;
|
|
7838
|
-
inner.style.transition =
|
|
7842
|
+
inner.style.transition = slideTranstionTime;
|
|
7839
7843
|
this._setPosition(inner, this.innerOffset);
|
|
7840
7844
|
}
|
|
7841
7845
|
} else {
|
|
7842
7846
|
// 非无限轮播的正常切换
|
|
7843
7847
|
this.innerOffset = -index * this._wrapperWidth;
|
|
7844
|
-
inner.style.transition =
|
|
7848
|
+
inner.style.transition = slideTranstionTime;
|
|
7845
7849
|
this._setPosition(inner, this.innerOffset);
|
|
7846
7850
|
}
|
|
7847
7851
|
|
|
@@ -8256,6 +8260,8 @@ var slideMixin = {
|
|
|
8256
8260
|
if (!this.scrollable || this.frameCount<=1) {
|
|
8257
8261
|
return // 🚫 禁止滚动行为
|
|
8258
8262
|
}
|
|
8263
|
+
this.lastMoveTime = Date.now();
|
|
8264
|
+
this.lastMovePosition = event.touches[0].pageX;
|
|
8259
8265
|
var touch = event.changedTouches[0];
|
|
8260
8266
|
this._stopAutoPlay();
|
|
8261
8267
|
var inner = this.$refs.inner;
|
|
@@ -8303,6 +8309,20 @@ var slideMixin = {
|
|
|
8303
8309
|
var offsetY = touch.pageY - startY;
|
|
8304
8310
|
tp.offsetX = offsetX;
|
|
8305
8311
|
tp.offsetY = offsetY;
|
|
8312
|
+
|
|
8313
|
+
const now = Date.now();
|
|
8314
|
+
const deltaTime = now - this.lastMoveTime;
|
|
8315
|
+
const deltaX = Math.abs(event.touches[0].pageX - this.lastMovePosition);
|
|
8316
|
+
if (deltaTime > 0) {
|
|
8317
|
+
this.velocity = deltaX / deltaTime; // 像素/毫秒
|
|
8318
|
+
// 计算动画时间,速度越大动画时间越短
|
|
8319
|
+
const baseTime = TRANSITION_TIME / 1000; // 基准时间
|
|
8320
|
+
const minTime = 0.1; // 最小动画时间(秒)
|
|
8321
|
+
this.transitionDuration = Math.max(minTime, baseTime / (this.velocity + 1));
|
|
8322
|
+
}
|
|
8323
|
+
|
|
8324
|
+
this.lastMoveTime = now;
|
|
8325
|
+
this.lastMovePosition = event.touches[0].pageX;
|
|
8306
8326
|
var isV = tp.isVertical;
|
|
8307
8327
|
if (typeof isV === 'undefined') {
|
|
8308
8328
|
isV = tp.isVertical = Math.abs(offsetX) < Math.abs(offsetY);
|
|
@@ -8413,7 +8433,7 @@ var slideMixin = {
|
|
|
8413
8433
|
var reset = Math.abs(offsetX / this._wrapperWidth) < 0.2;
|
|
8414
8434
|
var direction = offsetX > 0 ? 1 : -1;
|
|
8415
8435
|
var newIndex = reset ? this.currentIndex : (this.currentIndex - direction);
|
|
8416
|
-
this._slideTo(newIndex, true);
|
|
8436
|
+
this._slideTo(newIndex, true ,this.transitionDuration);
|
|
8417
8437
|
}
|
|
8418
8438
|
delete this._touchParams;
|
|
8419
8439
|
},
|
package/package.json
CHANGED