动态更新值时,如何更新vue.js中textarea的高度?
在使用Vue.js时,我确实使用了一种简单的方法来动态设置文本区域的高度,以便在键入时调整大小。但当组件装载或值更新时,我无法执行此操作 我已经试过了,但它也有同样的问题 我已经创建了一个沙盒,当输入它更新的框时,它会显示问题,但当值动态更改时,它不会显示问题 实例:动态更新值时,如何更新vue.js中textarea的高度?,vue.js,Vue.js,在使用Vue.js时,我确实使用了一种简单的方法来动态设置文本区域的高度,以便在键入时调整大小。但当组件装载或值更新时,我无法执行此操作 我已经试过了,但它也有同样的问题 我已经创建了一个沙盒,当输入它更新的框时,它会显示问题,但当值动态更改时,它不会显示问题 实例: 您需要一个triggerInput()方法: triggerInput() { this.$nextTick(() => { this.$refs.resize.$el.dispatchEvent(new Eve
您需要一个
triggerInput()
方法:
triggerInput() {
this.$nextTick(() => {
this.$refs.resize.$el.dispatchEvent(new Event("input"));
});
}
以编程方式更改值时使用,触发“real”input
事件上的
上使用的调整大小逻辑
注意:如果没有
$nextTick()
包装器,则不会应用最近更改的值,并且,即使触发了输入
,元素尚未更新,并且在值
更改之前会进行调整,导致旧的高度
,看起来好像没有发生过 您需要为文本区使用插槽吗?如果你能将文本区域合并到组件的模板中,似乎是一个很容易解决的问题。不一定,文本区域也可以包含在模板中。我确实试过,但运气不好。问题是我不知道如何在数据更改时钩住事件。