提交 7540059a 编写于 作者: X xzs02

fix: 解决movable-view组件动态显示后异常的问题 #163

上级 246827c5
...@@ -26,12 +26,15 @@ export default { ...@@ -26,12 +26,15 @@ export default {
this.pinchStartLen = null this.pinchStartLen = null
}, },
mounted: function () { mounted: function () {
this._resize()
},
methods: {
_resize () {
this._getWH() this._getWH()
this.items.forEach(function (item, index) { this.items.forEach(function (item, index) {
item.componentInstance.setParent() item.componentInstance.setParent()
}) })
}, },
methods: {
_find (target, items = this.items) { _find (target, items = this.items) {
var root = this.$el var root = this.$el
function get (node) { function get (node) {
...@@ -143,11 +146,13 @@ export default { ...@@ -143,11 +146,13 @@ export default {
var ours = this[`_${event}`] var ours = this[`_${event}`]
$listeners[event] = existing ? [].concat(existing, ours) : ours $listeners[event] = existing ? [].concat(existing, ours) : ours
}) })
return createElement( return createElement('uni-movable-area', {
'uni-movable-area',
{
on: $listeners on: $listeners
}, items) }, [createElement('v-uni-resize-sensor', {
on: {
resize: this._resize
}
}), ...items])
} }
} }
</script> </script>
......
<template> <template>
<uni-movable-view v-on="$listeners"> <uni-movable-view v-on="$listeners">
<v-uni-resize-sensor @resize="setParent"/>
<slot/> <slot/>
</uni-movable-view> </uni-movable-view>
</template> </template>
...@@ -216,9 +217,7 @@ export default { ...@@ -216,9 +217,7 @@ export default {
}, },
mounted: function () { mounted: function () {
this.touchtrack(this.$el, '_onTrack') this.touchtrack(this.$el, '_onTrack')
if (this.$parent._isMounted) {
this.setParent() this.setParent()
}
this._friction.reconfigure(1, this.frictionNumber) this._friction.reconfigure(1, this.frictionNumber)
this._STD.reconfigure(1, 9 * Math.pow(this.dampingNumber, 2) / 40, this.dampingNumber) this._STD.reconfigure(1, 9 * Math.pow(this.dampingNumber, 2) / 40, this.dampingNumber)
this.$el.style.transformOrigin = 'center' this.$el.style.transformOrigin = 'center'
...@@ -460,6 +459,9 @@ export default { ...@@ -460,6 +459,9 @@ export default {
} }
}, },
setParent: function () { setParent: function () {
if (!this.$parent._isMounted) {
return
}
if (this._FA) { if (this._FA) {
this._FA.cancel() this._FA.cancel()
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册