Дата трубы в угловой форме ControlName - PullRequest
0 голосов
/ 19 сентября 2019

Может кто-нибудь, пожалуйста, подскажите мне, чтобы я реализовал конвейер дат в угловых 8 с formControlName

train.component.html

<mat-grid-tile colspan=1 rowspan=1>
    <div class="train-control">
        <input type="text" formControlName="{{ 'apprTimestamp' | date:'medium' }}">
    </div>
</mat-grid-tile>

Но, похоже, не работает,Может кто-нибудь, пожалуйста, ведите меня.

Исключение

TrainComponent.html:58 ERROR Error: InvalidPipeArgument: 'Unable to convert "apprTimestamp" into a date' for pipe 'DatePipe'
    at invalidPipeArgumentError (common.js:5737)
    at DatePipe.transform (common.js:6877)
    at checkAndUpdatePureExpressionInline (core.js:34381)
    at checkAndUpdateNodeInline (core.js:35155)
    at checkAndUpdateNode (core.js:35090)
    at debugCheckAndUpdateNode (core.js:36112)
    at debugCheckDirectivesFn (core.js:36055)
    at Object.eval [as updateDirectives] (TrainComponent.html:60)
    at Object.debugUpdateDirectives [as updateDirectives] (core.js:36043)
    at checkAndUpdateView (core.js:35055)

Спасибо!

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

Вы также можете использовать datepipe в компоненте и изменить дату оттуда.Это будет работать только один раз с заранее установленной датой.Но вы также не включаете в свой вопрос что-либо еще, поэтому мы можем полностью опустить это.

Поэтому я предлагаю следующее:

import { DatePipe } from '@angular/common';

@Component({
  selector: '...',
  templateUrl: '...',
  styleUrls: ['...'],
  providers: [DatePipe]
})

Вставьте его в конструктор, а затем используйте ::

constructor(private fb: FormBuilder, private datePipe: DatePipe) {
  this.myForm = this.fb.group({
    field1: [this.datePipe.transform(new Date(), 'medium')]
  })
}

Затем удалите канал из шаблона.

STACKBLITZ

0 голосов
/ 19 сентября 2019

Исключите '' с переменной, содержащей значение метки времени, если вы действительно хотите присвоить значение даты для formControlName.

<input type="text" name="someName" formControlName="{{ apprTimestamp | date:'medium' }}">
...