【uni-app】textarea中的换行问题

在微信、百度和字节跳动小程序中,textarea组件为原生组件,层级高,不应在特定组件内使用。textarea的换行符是 ,需要转换为HTML的<br/>标签才能在rich-text中正确显示。示例代码展示了如何在提交时进行换行符替换。注意 和 的兼容性处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于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操作系统的换行,为了兼容,须将两者中的换行都替换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值