gpt4 book ai didi

angular - 在处理组件中的nativeElement.setAttribute的函数中升级到Angular6后出现TypeError

转载 作者:行者123 更新时间:2023-12-03 08:23:22 25 4
gpt4 key购买 nike

题!

我有一个具有文本区域作为搜索字段的searchbar组件。
根据搜索的文本量,我增加或减少了文本区域本身的行数。
因此,我进行了一些处理textarea原生元素的操作。
例如这个功能

searchbar.ts

focus() {
if (this.textArea) {
this.focussed = true;
this.textArea.nativeElement.setAttribute('rows', this.calcRows());

// extra part ...
}
}

searcbar.spec.ts
describe('focus', () => {
it('should set focussed to true', () => {
component.focussed = false;
component.focus();
expect(component.focussed).toBe(true);
});

it('should set the height of the textArea by setting the row to the correct amount', () => {
spyOn(component.textArea.nativeElement, 'setAttribute');
spyOn(component, 'calcRows').and.returnValue(2);

component.focus();
expect(component.textArea.nativeElement.setAttribute).toHaveBeenCalledWith('rows', 2);
});
});

测试实际上没有失败。
但是我显示了此错误,我认为它们不是针对测试本身,而是针对组件。

ERROR: 'ERROR', TypeError: undefined is not a function (evaluating 'this.textArea.nativeElement.setAttribute('rows',this.calcRows())')



任何想法如何解决?
提前致谢

最佳答案

尝试this.textArea.nativeElement.rows = this.calcRows()

关于angular - 在处理组件中的nativeElement.setAttribute的函数中升级到Angular6后出现TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51132444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com