【问题标题】:Date in formControlName not taking the value using reactive formsformControlName 中的日期未使用反应形式获取值
【发布时间】:2020-02-02 16:11:57
【问题描述】:

我正在使用响应式表单,如果我单击引导日历中的日期,则该值将变为空,但如果我从 formControl 输入中更改所选日期,则该值已被采用。我不知道哪里出错了。

DEMO

HTML:

<div class="form-group">
                <label for="">Premium Commitment Date</label>
                <input type="text" class="form-control" placeholder="MM/DD/YYYY" formControlName="premiumCommDate"
                  name="premiumCommDate"></div>

Ts:

 $('.onlyDate').datetimepicker({
        format: 'L'
      });

this.agentbasicInfoForm = this.FB.group({
        premiumCommDate: [''],
})

【问题讨论】:

  • 不要将 Jquery 与 Angular 一起使用,请查看以下信息以获取更多信息:stackoverflow.com/questions/53534894/…
  • 您好,感谢您的回复,但根据我的要求,这是我在非常有限的时间内找到的唯一方法,请您帮我解决一下
  • 有很多基于角度的日期选择器,你不能用吗?
  • 这里,我需要日期时间和上午/下午,在这个项目中其他插件不能使用。这是我遇到的主要问题
  • premiumCommDate 在给定的演示项目中找不到

标签: angular angular-reactive-forms


【解决方案1】:

由于使用 Jquery,您必须监听 datepickerchange 事件以获取 datepicker 值,然后使用 setValue 或 patchValue 手动设置响应式表单值。

试试这个:

date(event,i) {
   $('.onlyDateTime').datetimepicker();
      $('.onlyDate').datetimepicker({
        format: 'L'
      });
   $('.onlyDate').datetimepicker(
    { format: 'L' }).on('dp.change', (e)=>{
      const date = e.date.format('L');
      this.getFormData.at(i).get('signatureDate').setValue(date,{emitEvent:false});
      });
  }

Example

【讨论】:

  • 关于电话号码验证器的其他问题的任何想法
  • 当你有空的时候,你能帮我这个stackoverflow.com/questions/59992013/…吗?
  • 你有时间回答我的问题吗?
  • 会检查并通知您!
  • 嗨,从这个答案,你能帮我绑定没有formControl名称的对象数组的值
猜你喜欢
  • 2021-10-10
  • 2017-07-29
  • 1970-01-01
  • 2020-05-01
  • 2018-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-07
相关资源
最近更新 更多