Изменение входного значения компонента ng-select при вводе пользователем угловых значений 2 - PullRequest
0 голосов
/ 12 октября 2018

У меня есть компонент ng-select.Я хочу обрезать вводимый пользователем текст по мере его ввода.У меня есть код ниже, я могу взять текст, который вводит пользователь, но я не смог найти способ вернуть обрезанный текст обратно в ng-select.

<ng-select #vehicleInfoSelect [allowClear]="true"
   [(items)]="vehicleNumberList"
   (selected)="vehicleNoSelected($event)"
   (removed)="vehicleNoRemoved($event)"
   (typed)="vehicleNumberTyped($event)"
   placeholder="{{'vehicleInfo.placeHolder.filterVehicleNumberSelectBox'|translate}}">

</ng-select>

Машинописный код

@ViewChild('vehicleInfoSelect') public vehicleInfoSelect: SelectComponent;

vehicleNumberTyped(text:String){
    console.log(text);
   // here i want to trim the text and
   // set the input field of the ng-select;
}

Любая помощь будет отличной.Спасибо ..

1 Ответ

0 голосов
/ 12 октября 2018

Я полагаю, эта библиотека не предоставляет этот механизм для этого.Вы можете создать своего рода хак для достижения этой цели, получив доступ к этой закрытой переменной

this.behavior.filter(new RegExp(escapeRegexp(this.inputValue), 'ig'));

, которая доступна в исходном коде ng-select.

@ViewChild('vehicleInfoSelect') public vehicleInfoSelect: SelectComponent;

vehicleNumberTyped(text:String){
    console.log(text);
console.dir(this.vehicleInfoSelect);
}

Если вы можете поделитьсявывод console.dir(this.vehicleInfoSelect); Я могу помочь вам в дальнейшем.


И второй способ будет dispatchEvent изменить событие на элемент ввода select, который будет более сложным.


И третий способ будет искать другой пакет, который соответствует вашему требованию

...