首页 > 其他分享 >vue el-input中点击符号,文本框中显示符号

vue el-input中点击符号,文本框中显示符号

时间:2023-05-04 17:45:38浏览次数:31  
标签:el vue const 符号 symbol value cursorPos input

需求

点击 + | ( )符号,页面中光标位置,展示对应的符号

点击完,光标留在原位

 代码

<el-form-item prop="kwspec" label='监测关键词'>
   <el-input type="textarea" placeholder="请输入监测关键词" ref="inputRef" @blur="inputBlur" v-model="ruleZyForm.kwspec" rows="6" clearable></el-input>
</el-form-item>

<el-form-item label="" prop="">
  <ul class="formUl">
    <li v-for="symbol, index in symbols" :key="index" @click="insertSymbol(symbol)">{{ symbol }}</li>
  </ul>
</el-form-item>

data:

      cursorPos: 0,
      symbols: ['+', '|', '(', ')'],

methods:

    inputBlur (e) {
      this.cursorPos = e.srcElement.selectionStart;
    },
    insertSymbol (symbol) {
      this.$nextTick(() => {
        const input = this.$refs.inputRef.$refs.textarea;
        if (input) {
          const value = this.ruleZyForm.kwspec;
          const leftPart = value.substring(0, this.cursorPos);
          const rightPart = value.substring(this.cursorPos);
          this.ruleZyForm.kwspec = `${leftPart}${symbol}${rightPart}`;
          this.cursorPos += symbol.length;
          input.value = this.ruleZyForm.kwspec
          input.focus();
          input.setSelectionRange(this.cursorPos, this.cursorPos);
        }
      });
    },

 

标签:el,vue,const,符号,symbol,value,cursorPos,input
From: https://www.cnblogs.com/guohanting/p/17372028.html

相关文章

  • ASEMI代理ADM3251EARWZ-REEL原装ADI车规级ADM3251EARWZ-REEL
    编辑:llASEMI代理ADM3251EARWZ-REEL原装ADI车规级ADM3251EARWZ-REEL型号:ADM3251EARWZ-REEL品牌:ADI/亚德诺封装:SOIC-20-300mil批号:2023+引脚数量:20工作温度:-40°C~85°C安装类型:表面贴装型ADM3251EARWZ-REEL汽车芯片ADM3251EARWZ-REEL特性2.5kV完全隔离(电源和数据......
  • iOS MachineLearning 系列(10)—— 自然语言分析之文本拆解
    iOSMachineLearning系列(10)——自然语言分析之文本拆解本系列的前几篇文章介绍了iOS中有关图像和视频处理的API,视觉处理主要有Vision框架负责,本篇起,将介绍在iOS中MachineLearning领域相关的自然语言处理框架:NaturalLanguage。1-简介NaturalLanguage是iOS种提供的一种处理自......
  • Vue.js 教程:如何使用 Mock.js 进行前端开发
    Mock.js 是常用的生成随机数据,拦截Ajax请求的JavaScript库。在软件开发的初期,后端API接口可能还没有实现或者还没有完全实现。在这种情况下,用Mock.js可以模拟后端API供前端开发人员调用,从而避免等待后端API的完成。要在Vue项目中使用Mock.js有两个思路:在客户端拦......
  • ubuntu编译kernel
    前言使用的是ubuntu22.04本来的kernel:5.19.0-38-generic编译kernel5.19使用虚拟机要注意存储空间的变化,避免内存爆掉。环境配置需要先安装配置环境sudoapt-getinstallncurses-devsudoapt-getinstallflexsudoapt-getinstallbisonsudoapt-getinstalll......
  • Celery - 分布式任务队列
    Celery-分布式任务队列目录Celery-分布式任务队列1celery简介1.1什么是celery1.2celery架构(1)消息中间件messagebroker(2)任务执行单元worker(3)任务结果存储taskresultstore(4)使用场景2Celery安装与使用2.1安装2.2快速使用①第1步:创建celeryapp与创建任务②第2步......
  • ASEMI代理ADM3202ARUZ-REEL7原装ADI车规级ADM3202ARUZ-REEL7
    编辑:llASEMI代理ADM3202ARUZ-REEL7原装ADI车规级ADM3202ARUZ-REEL7型号:ADM3202ARUZ-REEL7品牌:ADI/亚德诺封装:TSSOP-16批号:2023+安装类型:表面贴装型引脚数量:16工作温度:VIORM:3.3V电源类型:车规级芯片ADM3202ARUZ-REEL7特征460kbps数据速率规定电压为3.3V符合EIA-23......
  • cPanel XSS漏洞分析研究(CVE-2023-29489)
    一、漏洞原理漏洞简述cPanel是一套在网页寄存业中最享负盛名的商业软件,是基于于Linux和BSD系统及以PHP开发且性质为闭源软件;提供了足够强大和相当完整的主机管理功能,诸如:Webmail及多种电邮协议、网页化FTP管理、SSH连线、数据库管理系统、DNS管理等远端网页式主机管......
  • vue中scoped 在文件引入中的作用
    首先搞清楚scoped是干啥的?scoped的引入主要是上线了样式的模块化私有化,即当前组件的样式只对当前组件起作用。当vue组件被vue-loader解析的时候,对于style上加了scope属性的组件,会主动加上data-v-xx的属性来唯一标识当前组件,若当钱组件内部存在子组件,只有子组件的最外层会加上唯一......
  • vue this.$router.push 页面传值问题
    在修改一个别人的bug的时候发现一个问题,记录一下,vue前端页面在刷新页面后只读页面可以编辑了在前一个传值页面他的写法是this.$router.push({name:'xxx',query:{isEdit:false}});在接收的时候写的是this.isEdit=this......
  • wpa_cli log level
    参考:log_level<level>[<timestamp>]=updatetheloglevel/timestamplog_level=displaythecurrentloglevelandlogoptions+staticconstchar*debug_level_str(intlevel)+{+ switch(level){+ caseMSG_EXCESSIVE:+ return"EXCESSIVE&......