element 输入框文字+对应签进行长度 和 的判定

[复制链接]
发表于 2024-9-25 19:00:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
输入文字长度 + 指定标签的长度 (判定长度并提示)

  1. <div style="position: relative;" class='changyongyu'>
  2.         <el-input type="textarea" :autosize="{ minRows: 8, maxRows: 8 }" style="margin-bottom:10px;"
  3.           v-model.trim="ruleForm.content" maxlength="500" @input="inputchangyongyu" @change="inputchangyongyu"
  4.           @paste.native.capture.prevent="handleFalse"
  5.           ></el-input>
  6.         <div style="position: absolute;right: 10px;bottom: -10px;">{{
  7.             textlength > 500 ? '500' : textlength }} / 500</div>
  8.       </div>
  9. // 计算长度字段属性添加 开始
  10.   computed: {
  11.     textlength() {
  12.       // #{store_name}
  13.       // #{store_phone}
  14.       // #{store_addr}
  15.       let num_store_name = 0
  16.       let num_store_addr = 0
  17.       let num_store_phone = 0
  18.       let mintextlength = 0
  19.       // 门店名称 : 25个字段   门店地址 :50个字段, 电话:15个字段  
  20.       num_store_name = (this.ruleForm.content.match(/#{store_name}/g) || []).length * 25;
  21.       num_store_addr = (this.ruleForm.content.match(/#{store_addr}/g) || []).length * 50;
  22.       num_store_phone = (this.ruleForm.content.match(/#{store_phone}/g) || []).length * 15;
  23.       mintextlength = this.ruleForm.content.replace(/#{store_name}/g, '').replace(/#{store_addr}/g, '').replace(/#{store_phone}/g, '')
  24.       let num = num_store_phone + num_store_addr + num_store_name
  25.       return num + mintextlength.length
  26.     }
  27.   },
  28. // 计算属性结束
  29.     inputchangyongyu(val) {
  30.       if (this.textlength > 500) {
  31.         this.$message.warning(`总字数超出了长度!请精简字数`);
  32.         this.ruleForm.content = val.slice(0, -1);
  33.         return val;
  34.       }
  35.     },
  36. //方法
  37.     handleFalse(e) {
  38.       let clip = e.clipboardData.getData('Text');
  39.       let num =  this.textlength + clip.length
  40.       if(num > 500){
  41.         this.$message.warning(`粘贴字数超出了长度!请精简字数`);
  42.         return true;        
  43.       }else{
  44.         this.ruleForm.content += String(clip)
  45.       }
  46.       //终止
  47.     },
复制代码

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表