Angular中的FormGroup,如何在滚动DIV中滚动到第一个无效输入
创始人
2024-10-31 05:00:31
0

可以通过以下代码实现:

  1. 在HTML中添加一个滚动DIV:
  1. 在组件中获取这个滚动DIV的引用并在需要时滚动到第一个无效输入:
import { Component, ViewChild, ElementRef } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';

@Component({
  selector: 'app-form',
  templateUrl: './form.component.html',
  styleUrls: ['./form.component.css']
})
export class FormComponent implements OnInit {
  form: FormGroup;
  
  // 获取滚动DIV的引用
  @ViewChild('scrollDiv') scrollDiv: ElementRef;

  constructor(private fb: FormBuilder) { }

  ngOnInit() {
    // 创建FormGroup并添加验证规则
    this.form = this.fb.group({
      // 表单的输入框组件以及规则
    });
  }

  onSubmit() {
    // 标记表单中的所有输入框为“脏”,这样它们将显示出验证消息
    this.markFormGroupTouched(this.form);

    // 如果表单中存在无效输入
    if (this.form.invalid) {
      // 获取第一个无效输入的DOM元素
      const invalidInput = this.scrollDiv.nativeElement.querySelector('input.ng-invalid');

      // 滚动到第一个无效输入
      invalidInput.scrollIntoView({ behavior: 'smooth' });
    }
  }

  markFormGroupTouched(formGroup: FormGroup) {
    Object.values(formGroup.controls).forEach(control => {
      control.markAsTouched();

      if (control instanceof FormGroup) {
        this.markFormGroupTouched(control);
      }
    });
  }
}

上述代码中,我们使用Angular的@ViewChild装饰器获取了滚动DIV的引用。然后在onSubmit()方法中,我们首先标记

相关内容

热门资讯

突发!随意玩辅助器视频透视挂!... 突发!随意玩辅助器视频透视挂!果然真的有辅助下载(有挂工具)-哔哩哔哩1、下载好随意玩辅助器视频透视...
截至发稿!微信卡五星辅助器!真... 截至发稿!微信卡五星辅助器!真是真的是有辅助挂(发现有挂)-哔哩哔哩1、截至发稿!微信卡五星辅助器!...
做出回应!衢州都莱破解器!真是... 做出回应!衢州都莱破解器!真是有挂辅助软件(有挂实锤)-哔哩哔哩小薇(辅助器软件下载)致您一封信;亲...
今天下午!八仙游戏辅助!一贯存... 今天下午!八仙游戏辅助!一贯存在有辅助软件(有挂讲解)-哔哩哔哩1、进入到八仙游戏辅助是否有挂之后,...
经调查!道游辅助脚本!确实是真... 经调查!道游辅助脚本!确实是真的辅助脚本(有挂存在)-哔哩哔哩1、全新机制【道游辅助脚本ai辅助工具...
据相关数据显示!陕麻圈黑科技!... 据相关数据显示!陕麻圈黑科技!切实是有辅助软件(有挂详细)-哔哩哔哩1、进入游戏-大厅左侧-新手福利...
不少玩家反映!福州十八扑有外g... 不少玩家反映!福州十八扑有外g挂吗!其实有挂辅助修改器(详细教程)-哔哩哔哩1、完成福州十八扑有外g...
记者获悉!福建兄弟13水辅助!... 记者获悉!福建兄弟13水辅助!总是是真的辅助安装(有挂方式)-哔哩哔哩1、完成福建兄弟13水辅助辅助...
截至目前!天天贵阳app破解版... 截至目前!天天贵阳app破解版!都是真的有辅助插件(有挂解惑)-哔哩哔哩1、实时天天贵阳app破解版...
截至发稿!掌中乐游戏中心云南辅... 截至发稿!掌中乐游戏中心云南辅助!一贯存在有辅助app(有挂规律)-哔哩哔哩掌中乐游戏中心云南辅助是...