textarea的坑
发布于 5 年前 作者 xgong 3812 次浏览 来自 问答

1、原生组件,层级最高,上面不能有其他自定义view,会被透过去;

2、可能也和层级有关,编辑完textarea之后直接点击保存这时textarea还没有失去焦点,导致 bindblur 没有被调用;

   解决:使用 form 方式解决;

3、当表单里有两个textarea时,连续输入后点击按钮无反应

4、直接往 textarea 里传值在 Android 上会概率显示不出来;

    原因:textarea应该是渲染的非常快,value 会在 onload 之后马上被填充,这时如果 value 还没被赋值,就显示为空。

    解决:在 onShow 之后加载 textarea。


5、textarea 不能放在 for 循环里,否则会出现输入其中一项会将另一项的内容冲掉;

6、垂直居中有问题,在 iPhone 上的 padding-top 会比 Android 大很多。

7、当它父亲和爷爷同时使用 table、flex 等相对复杂布局时,会出现满行换行时上一行会被清空的奇怪问题。

10 回复

加标志位啊,onshow之后 setData

textarea在iOS、android显示完全不一致,怎么修改都打不到预期效果,在textarea多次换行后,显示就有问题了

学习了。谢谢!

@李嗽嗽 ,我是把一个textare和一个button放到form中,当我在textarea输入文字时,软键盘拉起,随后点击发送按钮,或是textarea以外的区域,textarea都无法失焦,软键盘一直保持拉起状态。智能手动的将软键盘下拉。

<form bindsubmit="sendMessage" >
     <view class="sendMessage" style='background-color: gray'>
        <textarea auto-height="true" cursor-spacing="20" fixed="true" maxlength="-1" bindblur="bindTextAreaBlur" name="input" class="inputMsg" value="{{inputMsg}}" style='border: 1rpx solid #ddd;width:100%;'/>
        <button form-type="submit" class="send" disabled='{{disabled}}'>发送</button>
     </view>
</form>

官方人员正面解释一下啊

关于第一点的解决方案,要怎么样在onshow后面加载textarea啊?

请问大神,第二个问题是如何解决的?

@红蓝铅笔,就是使用form表单来提交,可以去文档看一下组件form

textarea 确实有好多问题,蛋疼

没错,mapcanvasvideotextarea 都是原生的,层级最高

回到顶部