uniapp通知限制字数判断超出隐藏不用textarea
时间: 2023-08-02 19:27:43 浏览: 181
如果你不想使用textarea组件,而是想使用通知组件来显示文本,那么你可以根据以下步骤来实现根据字数判断超出并隐藏:
1. 在需要显示通知的元素中绑定文本内容。
2. 使用正则表达式去除文本中的空格和换行符等无效字符。
3. 使用字符串的length属性获取文本的字数。
4. 判断字数是否超出指定限制,如果超出则截取指定长度的文本并加上省略号。
5. 将处理后的文本显示在通知组件中。
以下是一个示例代码:
```
<template>
<view>
<view class="notification" :class="{'long-text': isLongText}">
{{ showText }}
</view>
</view>
</template>
<script>
export default {
data() {
return {
inputText: '这是一段很长很长的文本,用于测试超出限制后的截取效果。',
maxLen: 10, // 最大字数限制
showText: '', // 显示的文本
isLongText: false, // 是否超出限制
}
},
mounted() {
// 去除无效字符
const text = this.inputText.replace(/\s/g, '')
// 获取字数
const len = text.length
if (len > this.maxLen) {
// 超出限制,截取指定长度并加上省略号
this.showText = text.substr(0, this.maxLen) + '...'
this.isLongText = true
} else {
this.showText = text
this.isLongText = false
}
},
}
</script>
<style>
.notification {
height: 50rpx;
line-height: 50rpx;
text-align: center;
background-color: #f8f8f8;
border: 1rpx solid #ddd;
border-radius: 5rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.long-text {
height: auto;
max-height: 150rpx;
overflow: hidden;
}
</style>
```
在上面的代码中,我们使用了一个通知组件来显示文本,并将文本内容绑定到了一个普通的view元素上。我们在mounted生命周期钩子中去除了文本中的无效字符,然后获取了文本的字数,并根据字数是否超出指定限制,截取了相应长度的文本并加上了省略号。最后,我们将处理后的文本显示在通知组件中。注意,在通知组件上我们设置了一些样式,以实现超出限制时的显示效果。
阅读全文