el-select的内容续写实现

html 复制代码
<el-tooltip class="item" effect="dark" :disabled="textContent" :content="textContent" placement="top">
  <span @click.stop> <!--防止clear事件冒泡,导致visible-change重复触发问题-->
    <el-select :id="'inputReg'+scope.$index"
      v-model="textContent" placeholder="请输入内容"
      @visible-change="regBlur(...arguments, scope.$index, ('inputReg' + scope.$index), textContent)"
      default-first-option allow-create filterable clearable>
      <el-option v-for="(item, idx) in list" :key="idx"
        :label="item.content" :value="item.content"></el-option>
    </el-select>
  </span>
</el-tooltip>
javascript 复制代码
regBlur(status, index, id, val) {
  const inputDom = document.querySelector('#' + id)
  let content = val || inputDom.value;
  if(val === inputDom.value) this.backupsText = val
  else if(this.backupsText === val) content = inputDom.value; // 接着增加采用
  else if(this.backupsText === inputDom.value) content = val; // 选择值采用
  if (!content) return;
  if (status){
    setTimeout(()=>{
      inputDom.value = content
      inputDom.scrollLeft = inputDom.scrollWidth - inputDom.clientWidth; // 让文字显示到最后
    }, 0)
    return;
  }
  let reg = /^[\u4E00-\u9FA5]*$/;
  let flag = reg.test(content);
  if (!flag) {
    this.$message.error('请输入汉字类型的内容')
    this.textContent = '';
  } else if (content.length > 16) {
    this.textContent = content.slice(0, 16);
    this.$message.warning('只能输入16个汉字!')
  } else {
    this.textContent = content;
  }
}
// this.backupsText 缓存修改前的值
相关推荐
濮水大叔4 小时前
函数式与对象式:前端架构的两种成本曲线
vue.js·react.js·函数式编程
风骏时光牛马4 小时前
从零到实战:AI全栈学习进阶路线
前端
FRing034 小时前
JavaScript入门到精通二十六(变量提升、函数剩余参数、展开运算符、ES6箭头函数)
开发语言·前端·javascript·es6·箭头函数
用户360055579005 小时前
Kestrel_VLLM - 15 · decode 优化四连击:19ms → 8ms
前端
IT_陈寒5 小时前
JavaScript的闭包陷阱,这个坑我躺了三天才爬出来
前端·人工智能·后端
计算机魔术师5 小时前
Microsoft Research 与合作者证明 31 年历史的 KLS 猜想
前端
vx_Biye_Design5 小时前
django房屋租赁推荐系统78455-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·课程设计·express
weixin_417396835 小时前
桌面云终端PXE启动失败怎么排查?从DHCP Option到镜像下发
开发语言·前端·php·技术·酒店·综合布线·弱电
林恒smileZAZ6 小时前
浏览器为什么加载不了超大图片
前端·vue.js·html5
hhwyqwqhhwy6 小时前
设备树之 provider 和 consumer
java·linux·前端