Angular输入自动大小与typeahead不起作用
创始人
2024-10-29 15:00:57
0

使用ngAfterViewInit和setTimeout函数来延迟自动大小初始化

在Angular中,当使用Typeahead控件时,自动跟踪控件的大小可能会出现问题。这是因为Typeahead创建了一个动态内容,可能在组件的生命周期钩子函数ngOnInit或ngAfterViewInit结束后再加载。当Angular尝试为不稳定的元素计算自动大小时,它会返回错误的结果。

为了解决这个问题,我们可以使用ngAfterViewInit和setTimeout函数来延迟自动大小初始化,等到Typeahead控件完全加载后再计算。下面是示例代码:

import { Component, ElementRef, ViewChild } from '@angular/core';

@Component({ selector: 'app-typeahead-example', template: }) export class TypeaheadExampleComponent { @ViewChild('inputElement', { static: true }) inputElement: ElementRef;

selectedItem: string; dataSource = ['Apple', 'Banana', 'Cherry', 'Durian'];

ngAfterViewInit() { setTimeout(() => { this.inputElement.nativeElement.setAttribute('size', this.selectedItem.length + 2); }, 100); }

onChange(event) { if (event && event.length) { this.inputElement.nativeElement.setAttribute('size', event.length + 2); } else { this.inputElement.nativeElement.removeAttribute('size'); } } }

在上面的示例中,我们通过ViewChild装饰器获取了输入元素的引用,并在ngAfterViewInit钩子函数中使用setTimeout函数来延迟自动大小的初始化。在onChange事件中,我们根据选择的项目或输入的字符数来调整输入元素的大小。

相关内容

热门资讯

透视脚本!wepoke ai辅... 透视脚本!wepoke ai辅助,wepoke挂透视,详细透视教你攻略;运wepoke ai辅助辅助...
wepoke有辅助挂!wpk辅... wepoke有辅助挂!wpk辅助器是真是假(透视)一贯是真的有挂(详细辅助必胜教程)1、这是跨平台的...
透视辅助!wepoke智能ai... 透视辅助!wepoke智能ai,wepower德州扑克,详细透视扑克教程wepoke智能ai是一种具...
德州之星辅助挂!德州扑克辅助器... 德州之星辅助挂!德州扑克辅助器(透视)都是是真的有挂(详细辅助AA德州教程)德州之星辅助挂辅助器中分...
透视最新!wepoke真的有挂... 透视最新!wepoke真的有挂,wepoke防外挂,详细透视2025新版技巧wepoke真的有挂辅助...
德州之星外挂!aapoker辅... 一、德州之星外挂简介了解软件请加微:136704302德州之星外挂是一款在线扑克游戏平台,玩家可以在...
透视透视挂!wepoke辅助挂... 透视透视挂!wepoke辅助挂,wepoke ai代打辅助,详细透视解密教程运wepoke辅助挂辅助...
德州之星有外挂!微扑克有没有挂... 德州之星有外挂!微扑克有没有挂(透视)原生真的是有挂(详细辅助AI教程)1、很好的工具软件,可以解锁...
透视私人局!wepoke真的有... 透视私人局!wepoke真的有挂,wepoke ai代打辅助,详细透视攻略方法1、起透看视 wepo...
德州ai辅助有用!线上德州ai... 德州ai辅助有用!线上德州ai机器人(透视)其实真的是有挂(详细辅助2025版教程)1、金币登录送、...