小程序 textarea 缓存问题更新

之前在页面上写了两个textarea 标签,通过wx:if来判断是否存在缓存来显示对应的 textarea,但是用过的小伙伴,居然发现输入的字体居然双影的,就是说输入框中,对实时监控用户输入信息,两个textarea 都存在页面中吗?

我们来说说对于wx:if

<textarea placeholder='' bindinput='listenerTextarea' wx:if="{{textarea}}">{{textarea}}</textarea>
<textarea placeholder='请输入表达一下你的创意或想法' wx:else bindinput='listenerTextarea'></textarea>

通过wx:if 中的 缓存textarea来决定textarea的显示与隐藏。

wx:if vs hidden

当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。

同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。

相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。

一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。

这里我是用三元表达式,通过判断缓存的 textarea 是否存在,来决定 placeholder 的显示内容

<textarea placeholder='{{textarea ? " " : "请输入表达一下你的创意或想法"}}' bindinput='listenerTextarea' value='{{textarea}}'></textarea>

猜你喜欢

转载自blog.csdn.net/qq_36437172/article/details/82755228