Угловой 5.2: свойство ошибки не существует на компоненте типа - PullRequest
0 голосов
/ 04 апреля 2019

Я добавил свойства в метод Formbuilder.Group как ( ts code ):

this.form = this.fb.group({          
        caseNumber: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(50), Validators.pattern('^[a-zA-Z0-9]*$')]],
        userName: ['', [Validators.required]],

Инфо-интерфейс ts file:

   export interface Information {
    userName : string 
    caseNumber: string
}

Я назначаю значения переменным, используя метод значения патча как ( ts code ):

Info: Information;

         this.form.patchValue({
            caseNumber: this.Info.caseNumber,
            userName: this.jsonArrayvalues(this.Info.userName, this.dropdownListForUserName),

Также я использовал эти свойства в html файле как:

 <div class="form-group padding-top-bottom" [ngClass]="{'has-error': (form.get('userName').touched ||
                                              form.get('userName').dirty) &&
                                              !form.get('userName').valid }">
                                <label class="col-md-4" for="firstNameId"><span tooltip={{attributeNames.userNameTitle}} data-placement="right">Vendor Name</span></label>
                                <div class="col-md-7">
                                    <ng-select [items]="userName"
                                               multiple="true"
                                               [addTag]="true"
                                               bindLabel="itemName"
                                               (change)="onItemSelect($event,'user','userName')"
                                               formControlName="userName"
                                               [(ngModel)]="userName">
                                    </ng-select>

Но когда я запускаю команду ng build --prod , я получаю следующую ошибку:

ОШИБКА в src \ app \ components \ new \ new.component.html (161,48):: Свойство ' userName ' не существует для типа ' NewComponent '.

То же самое отлично работает с командой ng build

1 Ответ

0 голосов
/ 04 апреля 2019
<ng-select [items]="userName"
...
</ng-select>

ожидает массив для свойства items (которого я не вижу в опубликованном вами коде).

Кстати, вы, вероятно, должны называть его "userNames", поскольку это должен быть массив.

<ng-select [items]="userNames" //!!! array
...
</ng-select>
...