PrimeNg Autocomplete отправляет пустую строку при очистке - PullRequest
0 голосов
/ 19 марта 2019

У меня есть элемент p-autocomplete (primeng 7.0.5), который управляет пользовательским полем объекта (тип OrganizationView).

Вот разметка:

<p-autoComplete
    [(ngModel)]="state.organization"
    (completeMethod)="onSearchOrganisation($event)"
    (onClear)="state.organization = null"
    (onSelect)="onOrganizationSelected($event)"
    [emptyMessage]="'GLOBALS.NORESULT' | translate"
    [forceSelection]="true"
    [suggestions]="availableOrganizations"
    [dropdown]="true"
    field="name"
    placeholder="{{'PLACEHOLDERS.ORGANISATION' | translate}}">

Состояние.организация запускает установщик со следующим кодом:

set organization(newOrganization: OrganizationView) {
    this._organization = newOrganization;
    console.log(typeof newOrganization, newOrganization);
  }

При выборе значений из автозаполнения я всегда получаю объекты OrganizationView, как и ожидалось.Проблема появляется при очистке поля:

При очистке (выберите все с помощью мыши и нажмите клавишу Backspace), мой установщик запускается 2 раза: один с нулевым значением, а второй с пустой строкой.Вот вывод console.log:

> object null
> string 

Вставка строки касается меня, потому что она портит всю систему со строгим контролем типов, которую я пытаюсь настроить.Я могу написать явные проверки на пустые строки, но мне было интересно, есть ли более чистое решение, или я что-то не так понял.

...