动态更新值时,如何更新vue.js中textarea的高度?

动态更新值时,如何更新vue.js中textarea的高度?,vue.js,Vue.js,在使用Vue.js时,我确实使用了一种简单的方法来动态设置文本区域的高度,以便在键入时调整大小。但当组件装载或值更新时,我无法执行此操作 我已经试过了,但它也有同样的问题 我已经创建了一个沙盒,当输入它更新的框时,它会显示问题,但当值动态更改时,它不会显示问题 实例: 您需要一个triggerInput()方法: triggerInput() { this.$nextTick(() => { this.$refs.resize.$el.dispatchEvent(new Eve

在使用Vue.js时,我确实使用了一种简单的方法来动态设置文本区域的高度,以便在键入时调整大小。但当组件装载或值更新时,我无法执行此操作

我已经试过了,但它也有同样的问题

我已经创建了一个沙盒,当输入它更新的框时,它会显示问题,但当值动态更改时,它不会显示问题

实例:


您需要一个
triggerInput()
方法:

triggerInput() {
  this.$nextTick(() => {
    this.$refs.resize.$el.dispatchEvent(new Event("input"));
  });
}
以编程方式更改值时使用,触发“real”
input
事件上的
上使用的调整大小逻辑


注意:如果没有
$nextTick()
包装器,则不会应用最近更改的值,并且,即使触发了
输入
,元素尚未更新,并且在
更改之前会进行调整,导致旧的
高度
,看起来好像没有发生过

您需要为文本区使用插槽吗?如果你能将文本区域合并到组件的模板中,似乎是一个很容易解决的问题。不一定,文本区域也可以包含在模板中。我确实试过,但运气不好。问题是我不知道如何在数据更改时钩住事件。