关于textarea要注意的是,在微信小程序,百度小程序及字节跳动小程序中,textarea是原生组件,层级高于前端组件,请勿在scroll-view,swiper,picker-view,movable-view中使用textarea组件,覆盖textarea需要使用cover-view
在实际开发中,textarea组件中的换行符为 \r\n
,并不是HTML的</br>
标签。因此,使用rich-text组件输出时并不能显示换行,需要将\r\n
转换成</br>
标签,代码示例如下:
<template>
<view>
<textarea class="area-content" v-model="content" placeholder-style="color:#F76260" :auto-height="true" placeholder="请输入内容"></textarea>
<button type="button" @click="submit">提交</button>
</view>
</template>
<script>
export default{
name: "textarea-component",
data(){
return {
content: ""
}
},
methods:{
submit(){
let content = this.content.replace(/\n/g,"<br/>");
content = content.replace(/\r\n/g,"<br/>");
console.log(content)
}
}
}
</script>
<style>
.area-content{
height: auto;
padding: 30rpx;
width: calc(100% - 60rpx);
}
</style>
使用replace将\n
和\r\n
替换成<br/>
标签即可,\n
代表UNIX操作系统中的换行,\r\n
是windows操作系统的换行,为了兼容,须将两者中的换行都替换