vue antDesign 文本框 把原回车换行 改成 alt+回车 换行 window(alt)和macos(option)同步

Posted 晚星@

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue antDesign 文本框 把原回车换行 改成 alt+回车 换行 window(alt)和macos(option)同步相关的知识,希望对你有一定的参考价值。

template

 <a-input placeholder="Basic usage"
                   :rows="4"
                   type="textarea"
                   ref="textDom"
                   v-model="message"
                   @blur="handleInputBlur"
                   @keydown.enter="handleEnter"
                   @keydown.alt.enter="handleAltEnter" />

script

data()
	return
		  blurIndex: undefined,
	      message: undefined,
	      flag: false,
	      isAltEnter: false
	
,
methods:
	 handleInputBlur (e) 
	      if (this.flag) 
	        this.blurIndex = e.srcElement.selectionStart;
	        // 把输入的换行符插入到你光标的位置
	        this.message = this.message.substring(0, this.blurIndex) + '\\n' + this.message.substring(this.blurIndex, this.message
	          .length)
	        // 重新获取光标
	        e.srcElement.focus()
	        this.isAltEnter = true // 设置阻塞状态,因为enter事件仍然会触发
	      
	      this.flag = false
	    ,
    handleAltEnter (e) 
      this.flag = true
      // 失去光标触发事件
      e.srcElement.blur()
    ,
    handleEnter (e) 
      e.preventDefault() // 阻止默认行为
      setTimeout(() => 
        if (this.isAltEnter)  //如果为阻塞状态就反转状态
          this.isAltEnter = false
        else
          // 回车你想做的事情
        
      , 100)
    ,

以上是关于vue antDesign 文本框 把原回车换行 改成 alt+回车 换行 window(alt)和macos(option)同步的主要内容,如果未能解决你的问题,请参考以下文章

c#文本框如何换行

用Vue实现高度自增的文本框

vue的$message(提示框换行)

vue3+antdesign的输入框(input)添加失去焦点触发事件

在text域中无法显示回车的解决办法。亲测可行。

vb怎样设定以回车键(或上、下、左、右键)控制光标从一个文本框跳到下一个文本框