Angular数组输入值改变后聚焦到下一个元素,并将相同值放入前面的元素
创始人
2024-10-29 15:31:28
0

可以使用 Angular 的 ViewChildRenderer2 来实现这个功能。

首先,在组件类中添加以下代码,来引用输入框的所有元素,并创建一个数组存储这些引用。

import { Component, QueryList, ElementRef, Renderer2, ViewChildren, AfterViewInit } from '@angular/core';

@Component({
  selector: 'app-example',
  template: `
    
    
    
  `
})
export class ExampleComponent implements AfterViewInit {
  @ViewChildren('input1', 'input2', 'input3') inputs: QueryList;
  inputRefs: ElementRef[];

  constructor(private renderer: Renderer2) { }

  ngAfterViewInit() {
    this.inputRefs = this.inputs.toArray();
  }
}

然后,添加 onInputChange 方法来更新前面的输入框,并聚焦到下一个输入框。

import { Component, QueryList, ElementRef, Renderer2, ViewChildren, AfterViewInit } from '@angular/core';

@Component({
  selector: 'app-example',
  template: `
    
    
    
  `
})
export class ExampleComponent implements AfterViewInit {
  @ViewChildren('input1', 'input2', 'input3') inputs: QueryList;
  inputRefs: ElementRef[];

  constructor(private renderer: Renderer2) { }

  ngAfterViewInit() {
    this.inputRefs = this.inputs.toArray();
  }

  onInputChange(value: string, index: number) {
    // 更新前面的输入框
    if (index > 0 && value === '') {
      this.renderer.setProperty(this.inputRefs[index - 1].nativeElement, 'value', '');
    } else {
      this.renderer.setProperty(this.inputRefs[index].nativeElement, 'value', value);
    }

    // 聚焦到下一个输入框
    if (index < this.inputRefs.length - 1) {
      this.inputRefs[index + 1].nativeElement.focus();
    }
  }
}

相关内容

热门资讯

透视教学!aapoker透视方... 透视教学!aapoker透视方法(透视)万能辅助器(总是有挂)1、这是跨平台的aapoker透视方法...
透视规律!aapoker辅助软... 透视规律!aapoker辅助软件合法吗(透视)透视方法(真是真的有挂)1、aapoker辅助软件合法...
透视新版!aapoker辅助插... 透视新版!aapoker辅助插件工具(透视)真的假的(一贯是真的有挂)1、每一步都需要思考,不同水平...
透视免费!aapoker怎么选... 透视免费!aapoker怎么选牌(透视)插件下载(好像是真的有挂)aapoker怎么选牌软件透明挂微...
透视ai!aapoker公共底... 透视ai!aapoker公共底牌(透视)插件(本来存在有挂)该软件可以轻松地帮助玩家将aapoker...
透视总结!aapoker破解侠... 透视总结!aapoker破解侠是真的吗(透视)脚本(真是有挂)1、aapoker破解侠是真的吗透视辅...
透视安卓版!aapoker怎么... 透视安卓版!aapoker怎么设置提高好牌几率(透视)发牌逻辑(一贯是有挂);1、完成aapoker...
透视好牌!aapoker透视怎... 透视好牌!aapoker透视怎么用(透视)透视插件(真是是有挂);1、任何aapoker透视怎么用a...
透视辅助!aapoker怎么开... 透视辅助!aapoker怎么开辅助器(透视)透视方法(确实是真的有挂)暗藏猫腻,小编详细说明aapo...
透视智能ai!aapoker透... 透视智能ai!aapoker透视脚本下载(透视)透视脚本下载(其实是有挂)1、超多福利:超高返利,海...