在輸入框光標(biāo)位置插入字符

當(dāng)余額撐不起興趣的時(shí)候,所有的愛好都應(yīng)該是賺錢

我的github: 李大玄
我的私人博客: 李大玄
我的npm開源庫: 李大玄
我的簡(jiǎn)書: 李大玄
我的CSDN: 李大玄
我的掘金: 李大玄
嗶哩嗶哩: 李大玄
語雀文檔: 李大玄

這里只是一個(gè)按鈕一個(gè)輸入框的一個(gè)簡(jiǎn)單演示, 如果涉及到循環(huán)的地方, 在id的地方加上索引就可以了, 我已經(jīng)試過了

在這里插入圖片描述

<template>
  <div class="">
    <el-button type="primary" @click="concatStr">新增</el-button>
    <el-input v-model="ipt" id="ipt"></el-input>
  </div>
</template>

<script>
export default {
  data() {
    return {
      ipt: '',
    };
  },
  methods: {
    concatStr() {
      this.insertInputTxt('ipt', '這是插入的內(nèi)容');
    },
    // 插入字符串
    insertInputTxt(id, insertTxt) {
      var elInput = document.getElementById(id); // 獲取dom
      var startPos = elInput.selectionStart;
      var endPos = elInput.selectionEnd;
      if (startPos === undefined || endPos === undefined) return;
      var txt = elInput.value;
      var result = txt.substring(0, startPos) + insertTxt + txt.substring(endPos);
      elInput.value = result;
      // 這里比較重要 **給最終綁定的參數(shù) 進(jìn)行賦值
      this.ipt = result; // 賦值
      elInput.focus();
      this.$nextTick(() => {
        elInput.selectionStart = startPos + insertTxt.length;
        elInput.selectionEnd = startPos + insertTxt.length;
      });
    },
  },
};
</script>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容