antd使用弹窗后输入框修改已赋的值时,光标总是跳到末尾的情况

436 阅读1分钟

此解决方法对于输入框存在一个缺陷:输入框的值有很长时,比如我点到靠前的位置删除某些字符,然后视图展示的是到末尾的位置,光标的位置正确。

            <a-textarea
                :autoSize="{ minRows: 1, maxRows: 8 }"
                style="width: 100%"
                v-model="form.remark"
                placeholder="请输入"
                @input="handleChange($event)"
                @keydown.delete="FieldDelete"
              ></a-textarea>
// 解决光标总是跳到末尾的情况
    handleChange(e) {
      console.log(e)
      const Elelct = e.srcElement.selectionEnd
      console.log('Elelct', Elelct)
      setTimeout(() => {
        e.srcElement.setSelectionRange(Elelct + 1, Elelct)
      }, 1)
    },
    //
    FieldDelete(e) {
      const Elelct = e.srcElement.selectionStart
      setTimeout(() => {
        e.srcElement.setSelectionRange(Elelct - 1, Elelct - 1)
      }, 1)
    },