el-input支持Tab输入

发布时间 2024-01-04 13:59:38作者: 年轻浅识
<el-input
  ref="tabInput"
  type="textarea"
  :rows="10"
  @keydown.9.native.prevent="tabInput"
  v-model="tabContent">
</el-input>
tabInput(e){
  const elInput=e.target
  const startPos = elInput.selectionStart
  const endPos = elInput.selectionEnd
  if(startPos===undefined||endPos===undefined)return
  const txtValue=elInput.value
  elInput.value=txtValue.substring(0,startPos)+'\t'+txtValue.substring(endPos)
  elInput.focus()
  elInput.selectionStart=startPos+'\t'.length
  elInput.selectionEnd=endPos+'\t'.length
  this.tabContent=elInput.value
},