提交 ffd5f8d3 编写于 作者: Q qiang

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

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