2016-12-06 1 views
1

Я новичок в JS. У меня есть небольшой front-end task, и я не знаю, как его решить после нескольких часов работы в Интернете.Переопределить функцию в компоненте «MultiSelect» от PrimeNG

Мне нужно переопределить эту функцию в компоненте PrimeNG MultiSelect: MultiSelect.prototype.updateLabel.

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

Было бы здорово, если бы вы указали мне правильное направление. Я нашел это page, но это не помогло мне, потому что я не знаю, как его правильно реализовать.

Заранее благодарим за любую помощь.

enter image description here

+0

что вы сделали до сих пор? – anshuVersatile

ответ

4

Я должен был сделать то же самое в моем проекте.

Вот что я сделал, чтобы заставить его работать: В .html файле вашего компонента добавить что-то вроде:

<p-multiSelect #multiselect 
     [options]="someOptions" 
     [(ngModel)]="someModel.options" 
     [defaultLabel]="Did this work?" 
     (onChange)="onChange($event)" 
> 
</p-multiSelect> 

Ниже конструктора в файле компонента, добавьте:

@ViewChild('multiselect') multi: MultiSelect; 

I поместить мой в сеттер, который всегда называется, но везде, где вам нужно изменить ярлык - возможно, в функции подписки - вы можете переопределить использование:

this.multi.updateLabel = function() { 
    var label = this.value.length.toString() + " Data Points Selected"; 
    this.valuesAsString = label; 
} 

Надеюсь, что это поможет!

+0

Спасибо большое! Это то, что мне нужно. – alexkov

Смежные вопросы