将输入与大字符串绑定时,Vue崩溃

时间:2019-02-21 11:44:02

标签: javascript vue.js input

我有一个绑定了属性的输入:

// in the template
<input type="text" v-model="someProp">

// in the script
export default {
  data() { return {
    someProp: ''
  }
}

问题是此输入将绑定一个非常长的字符串(长21k个字符)。将字符串复制/粘贴到输入中后,该选项卡会以以下方式暂时崩溃:

  • 无法滚动
  • 文本光标停止闪烁
  • 窗口冻结
  • 不应显示的组件出现

与大输入绑定时似乎有一些过度处理。我可以在代码中进行哪些更改以防止延迟?

并且,如果可能的话:是否由于Vue或浏览器而导致了过度处理?

1 个答案:

答案 0 :(得分:0)

很显然,某些浏览器仅针对textarea元素优化大文本输入,而不针对input优化。在模板中进行以下更改可防止标签滞后:

// change this
<input type="text" v-model="someProp">
// to this
<textarea type="text" v-model="someProp"></textarea>

(当然还有一些其他样式)。

问题似乎出在浏览器上,而不是Vue上,但这就是我所能知道的-非常感谢附加输入!