textarea最大输入字符200,需设置maxlength="200",通过length值来提示输入量。不设置maxlength也可以通过watch监听提示或者截除。
HTML
<ul class="UserList">
<!--其他HTML结构-->
<li>
<textarea class="inputTxt" name="" v-model="textareaData" placeholder="请输入在职岗位职责说明" maxlength="200"></textarea>
<span class="textareaLength">({{textareaData.length}}/200)</span>
</li>
<!--其他HTML结构-->
</ul>
Css
.UserList li{position:relative;}
.UserList li .textareaLength{position:absolute;right:5px;bottom:5px;color:#999;font-size:1.2rem;}
.inputTxt{min-height:200px;}
JS
<!--Vue3写法-->
<script setup>
import {ref,watch} from 'vue';
let textareaData = ref()
watch(textareaData,(newValue,oldValue) => {
console.log(textareaData.value.length)
if(textareaData.value.length>100){
alert("字数超啦!")
textareaData.value = String(textareaData.value).slice(0,100)
}
})
</script>
<!--Vue2写法-->
data () {
return {
textareaData:""//输入字符
}
},
watch:{
//通过watch监听截除这里设置的长度是100会优先于maxlength="200"的设置
textareaData(){
if(this.textareaData.length>100){
alert("字数超啦!")
this.textareaData = String(this.textareaData).slice(0,100)
}
}
}