一,在textarea中加入id

 <el-form-item :label="$t('message_template_content')" prop="content">
          <el-input
            type="textarea"
            
            :autosize="{ minRows: 5, maxRows: 10}"
            :placeholder="$t('common_input')"
            v-model="messageTemplate.content"
          />
        </el-form-item>

 

二、在methods中写入方法

async insertVariable(value) {
      const myField = document.querySelector('#textarea');
      // const myField = this.$refs.singleText;
      console.log('myField--',myField);
      if(myField.selectionStart || myField.selectionStart === 0) {
        let startPos = myField.selectionStart;
        let endPos = myField.selectionEnd;
        this.messageTemplate.content = myField.value.substring(0, startPos) + value
                    + myField.value.substring(endPos, myField.value.length);
        await this.$nextTick() // 这句是重点, 圈起来
        myField.focus();
        myField.setSelectionRange(endPos + value.length, endPos + value.length);
      } else {
        this.messageTemplate.content = value;
      }
    },

  

相关文章:

  • 2021-07-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-03
  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-26
  • 2022-12-23
  • 2022-01-08
  • 2021-07-19
  • 2021-10-07
相关资源
相似解决方案