Angular响应式表单的patchValue无法在ngbDatepicker输入框上使用
创始人
2024-10-30 06:00:40
0

在 angular 响应式表单中,对于使用 ngbDatepicker 的日期输入框,我们在使用 patchValue 方法时可能会遇到问题,无法将值正确地设置到输入框中。这是因为 ngbDatepicker 输入框的值是一个 NgModel 对象,而不是一个简单的值。

为了解决这个问题,我们可以使用 setValue 方法来设置日期输入框的值。示例代码如下:

HTML 模板代码:


组件代码:

import { Component, ViewChild } from '@angular/core';
import { NgbDateStruct, NgbDatepicker } from '@ng-bootstrap/ng-bootstrap';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  @ViewChild('myDate', { static: false }) myDatepicker: NgbDatepicker;

  myForm: FormGroup;

  constructor(private fb: FormBuilder) {
    this.myForm = this.fb.group({
      myDate: ['', Validators.required]
    });
  }

  setModel() {
    const model = {
      myDate: { year: 2021, month: 10, day: 1 }
    };
    this.myForm.setValue(model);
    this.myDatepicker.navigateTo({ year: 2021, month: 10 });
  }

}

在 setModel 方法中,我们可以使用 setValue 方法来设置日期输入框的值,然后通过 myDatepicker 对象导航到相应的年月。这样就能正确地将值设置到 ngbDatepicker 输入框中了。

相关内容

热门资讯

每日必看!陕西扣点点脚本辅助器... 每日必看!陕西扣点点脚本辅助器,功夫川麻老是输什么情况,详细技巧(确实有挂)1、玩家可以在功夫川麻老...
揭秘!灯笼众娱脚本,老友广东麻... 揭秘!灯笼众娱脚本,老友广东麻将有挂吗,详细挂(有挂分析)1、许多玩家不知道老友广东麻将有挂吗辅助怎...
揭秘几款!蛮王辅助,老友辅助工... 揭秘几款!蛮王辅助,老友辅助工具,详细软件(有挂猫腻)一、老友辅助工具游戏安装教程牌型概率发牌机制”...
一分钟了解!丽水都来脚本辅助,... 一分钟了解!丽水都来脚本辅助,随意玩房卡辅助器透视,详细工具(确实有挂)1、不需要AI权限,帮助你快...
今日百科!手机脚本辅助软件,腾... 今日百科!手机脚本辅助软件,腾讯欢乐卡五星辅助器,详细挂(真的有挂)1、超多福利:超高返利,海量正版...
重大科普!丰城双剑新版最强高分... 重大科普!丰城双剑新版最强高分攻略,小松宿松辅助,详细神器(今日头条)重大科普!丰城双剑新版最强高分...
大家学习交流!阿拉斗牌辅助,随... 大家学习交流!阿拉斗牌辅助,随意玩正版房卡有开挂,详细工具(存在有挂)随意玩正版房卡有开挂是不是有人...
今日重大通报!潮友会鱼虾蟹脚本... 今日重大通报!潮友会鱼虾蟹脚本辅助器,微乐透视辅助工具,详细器(了解有挂)1、实时潮友会鱼虾蟹脚本辅...
盘点一款!微信小程序微乐家乡辅... 盘点一款!微信小程序微乐家乡辅助器,丽水茶苑辅助平台购买,详细工具(发现有挂)1、在微信小程序微乐家...
玩家交流!微信三哥玩辅助器,广... 您好,微信三哥玩辅助器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩...