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 缓存修改前的值
相关推荐
不可能片场2 小时前
Electron 主进程热补丁:单行 JS 安全打法
前端·electron
梨想橙汁2 小时前
Pinia 状态管理实战:定义 Store、修改数据、模块拆分
前端·vue.js
高申航2 小时前
Vue 3 + DYMO Connect Framework 实战:从标签模板到打印服务的完整实现
前端·javascript·vue.js
梨想橙汁2 小时前
Vue3 组件开发:生命周期钩子,组件之间通信全方案
前端·vue.js
雪芽蓝域zzs2 小时前
分页组件 + el-config-provider 中文国际化 + 靠右布局
前端·javascript·vue.js
恋猫de小郭2 小时前
iPhone Duo 适配详解,需要改变的不止是布局模型
前端·flutter·ios
萧行之2 小时前
Observable Plot 源码深度解析——4 核心抽象逐项学习
前端·学习·数据可视化
今日无bug2 小时前
为什么大模型回答总是一个字一个字蹦出来?聊聊 SSE 流式输出与 BFF 层的那些事
前端·llm
志尊宝2 小时前
Vue3 零基础每日笔记(016):v-for 列表渲染——key 的作用与为什么不能用 index
javascript·vue.js·笔记