提交 ffd5f8d3 编写于 作者: Q qiang

fix: 解决 textarea 在 iOS 上自动增高时机不正确以及文字两侧多 3px 边距的问题

上级 bd4280dd
...@@ -32,19 +32,7 @@ export default { ...@@ -32,19 +32,7 @@ export default {
this.$el.parentNode.style.position = 'relative' this.$el.parentNode.style.position = 'relative'
} }
if ('attachEvent' in this.$el && !('AnimationEvent' in window)) { if (!('AnimationEvent' in window)) {
var onresizeHandler = function () {
this.update()
removeOnresizeEvent()
}.bind(this)
var removeOnresizeEvent = function () {
this.$el.detachEvent('onresize', onresizeHandler)
this.$off('resizeSensorBeforeDestroy', removeOnresizeEvent)
}.bind(this)
this.$el.attachEvent('onresize', onresizeHandler)
this.$on('resizeSensorBeforeDestroy', removeOnresizeEvent)
this.reset() this.reset()
} }
}, },
......
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
:selection-end="selectionEndNumber" :selection-end="selectionEndNumber"
v-on="$listeners" v-on="$listeners"
> >
<div <div class="uni-textarea-wrapper">
ref="wrapped"
class="uni-textarea-wrapped">
<div <div
v-show="!(composition||valueSync.length)" v-show="!(composition||valueSync.length)"
ref="placeholder" ref="placeholder"
...@@ -38,6 +36,7 @@ ...@@ -38,6 +36,7 @@
:disabled="disabled" :disabled="disabled"
:maxlength="maxlengthNumber" :maxlength="maxlengthNumber"
:autofocus="autoFocus" :autofocus="autoFocus"
:class="{'uni-textarea-textarea-ios': isIOS}"
class="uni-textarea-textarea" class="uni-textarea-textarea"
@compositionstart="_compositionstart" @compositionstart="_compositionstart"
@compositionend="_compositionend" @compositionend="_compositionend"
...@@ -121,7 +120,8 @@ export default { ...@@ -121,7 +120,8 @@ export default {
composition: false, composition: false,
focusSync: this.focus, focusSync: this.focus,
height: 0, height: 0,
focusChangeSource: '' focusChangeSource: '',
isIOS: String(navigator.platform).indexOf('iP') === 0 && String(navigator.vendor).indexOf('Apple') === 0
} }
}, },
computed: { computed: {
...@@ -299,7 +299,7 @@ uni-textarea[hidden] { ...@@ -299,7 +299,7 @@ uni-textarea[hidden] {
uni-textarea[auto-height] .uni-textarea-textarea { uni-textarea[auto-height] .uni-textarea-textarea {
overflow-y: hidden; overflow-y: hidden;
} }
.uni-textarea-wrapped { .uni-textarea-wrapper {
position: relative; position: relative;
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -351,4 +351,10 @@ uni-textarea[auto-height] .uni-textarea-textarea { ...@@ -351,4 +351,10 @@ uni-textarea[auto-height] .uni-textarea-textarea {
background-color: transparent; background-color: transparent;
opacity: inherit; opacity: inherit;
} }
/* 用于解决 iOS textarea 内部默认边距 */
.uni-textarea-textarea-ios {
width: auto;
right: 0;
margin: 0 -3px;
}
</style> </style>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册