@dolphinweex/weex-vue-render 0.2.112 → 0.2.114

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.
@@ -5165,13 +5165,9 @@ var style = {
5165
5165
  return weex.utils.px2rem($0, rootValue)
5166
5166
  })
5167
5167
  }
5168
- if (typeof value === 'number') {
5169
- if (bindingStyleNamesForNumber2Px.indexOf(propKey) > -1) {
5170
- const scale = weex.config.env.scale
5171
- return (scale * value) + 'px';
5172
- }else{
5173
- return weex.utils.px2rem(value + '', rootValue)
5174
- }
5168
+ if (typeof value === 'number') {
5169
+ // 没单位的数字按设计稿 px 转 rem pad旋转会动态计算
5170
+ return weex.utils.px2rem(value + '', rootValue)
5175
5171
  }
5176
5172
  // 辅助函数:将kebab-case转换为camelCase
5177
5173
  const kebabToCamel = (str) => {
@@ -8912,6 +8908,9 @@ var slideMixin = {
8912
8908
  return
8913
8909
  }
8914
8910
  }
8911
+ if (weex.sliderChange) {
8912
+ return
8913
+ }
8915
8914
  if (!this.scrollable || this.frameCount<=1) {
8916
8915
  __renderLog('[weex-slider] _handleTouchStart return: not scrollable', {
8917
8916
  scrollable: this.scrollable,
@@ -8978,6 +8977,13 @@ var slideMixin = {
8978
8977
  }
8979
8978
  },
8980
8979
  _handleTouchMove: function _handleTouchMove (event) {
8980
+ if (weex.sliderChange) {
8981
+ // 手势中途被打断时清掉起点,避免 flag 恢复后按旧 startX 改 left
8982
+ if (this._touchParams) {
8983
+ delete this._touchParams
8984
+ }
8985
+ return
8986
+ }
8981
8987
  var tp = this._touchParams;
8982
8988
  if (!tp || !this.scrollable || this.frameCount<=1 || this._sliding) {
8983
8989
  if (this._sliding) {
@@ -11310,9 +11316,14 @@ function transitionOnce (vnode, config, callback) {
11310
11316
  dom && weex.utils.fireLazyload(dom, true);
11311
11317
 
11312
11318
  var ended = false;
11319
+ var eventFinishTimer = null;
11313
11320
  var cleanup = function () {
11314
11321
  if (ended) { return }
11315
11322
  ended = true;
11323
+ if (eventFinishTimer) {
11324
+ clearTimeout(eventFinishTimer);
11325
+ eventFinishTimer = null;
11326
+ }
11316
11327
  if (endEvent) {
11317
11328
  dom.removeEventListener(endEvent, transitionEndHandler);
11318
11329
  }
@@ -11320,14 +11331,26 @@ function transitionOnce (vnode, config, callback) {
11320
11331
  dom.style[styleName] = '';
11321
11332
  }
11322
11333
  };
11323
- var transitionEndHandler = function (event) {
11324
- event && event.stopPropagation();
11334
+ var finish = function () {
11335
+ if (ended) { return }
11325
11336
  clearTimeout(timerId);
11326
11337
  cleanup();
11327
- setTimeout(()=>{
11328
- callback && callback(); // 兼容嵌套动画
11329
- })
11338
+ callback && callback();
11339
+ };
11340
+ var transitionEndHandler = function (event) {
11341
+ event && event.stopPropagation();
11342
+ // transitionend 会针对 opacity、transform 等属性分别触发。
11343
+ // 只处理当前节点,并等配置时长结束及最后一个属性事件稳定后再回调。
11344
+ if (!event || event.target !== dom || ended) { return }
11345
+ if (eventFinishTimer) {
11346
+ clearTimeout(eventFinishTimer);
11347
+ }
11348
+ var remaining = Math.max(0, duration + delay - (Date.now() - startTime));
11349
+ eventFinishTimer = setTimeout(function () {
11350
+ finish();
11351
+ }, remaining + 16);
11330
11352
  };
11353
+ var startTime = Date.now();
11331
11354
  if (endEvent) {
11332
11355
  dom.style[styleName] = transitionValue;
11333
11356
  dom.addEventListener(endEvent, transitionEndHandler);
@@ -11335,8 +11358,7 @@ function transitionOnce (vnode, config, callback) {
11335
11358
  var totalMs = (duration + delay) + 60; // 兜底计时器,避免不触发 transitionend 时卡死
11336
11359
  var timerId = setTimeout(function () {
11337
11360
  if (ended) { return }
11338
- cleanup();
11339
- callback && callback();
11361
+ finish();
11340
11362
  }, totalMs);
11341
11363
  nextFrame(function () {
11342
11364
  // 修改 transform:translate让它支持传3个参数,且第三个参数无效
package/package.json CHANGED
@@ -49,5 +49,5 @@
49
49
  "type": "git",
50
50
  "url": "git+ssh://git@github.com/weexteam/weex-vue-render.git"
51
51
  },
52
- "version": "0.2.112"
52
+ "version": "0.2.114"
53
53
  }