从 PrimeNG 覆盖 'MultiSelect' 组件中的函数
Override a function in 'MultiSelect' component from PrimeNG
我是 JS
的新人。我有一个小问题 front-end task
,谷歌搜索了几个小时后我不知道如何解决它。
我需要在 PrimeNG MultiSelect 组件中覆盖此功能:MultiSelect.prototype.updateLabel
。
在项目中,我的工作是标签应该是静态的,但替代文本(悬停时)应该是动态的,就像最初实现的那样。
如果你能指出正确的方向,那就太好了。我找到了这个 page,但它对我没有帮助,因为我不知道如何正确地实现它。
在此先感谢您的帮助。
我不得不在我的项目中做同样的事情。
以下是我为让它工作所做的工作:
在您的组件的 .html 文件中添加如下内容:
<p-multiSelect #multiselect
[options]="someOptions"
[(ngModel)]="someModel.options"
[defaultLabel]="Did this work?"
(onChange)="onChange($event)"
>
</p-multiSelect>
在组件文件的构造函数下方,添加:
@ViewChild('multiselect') multi: MultiSelect;
我把我的放在一个总是被调用的 setter 中,但是无论你在哪里需要更改标签 - 也许在订阅函数中 - 你都可以覆盖使用:
this.multi.updateLabel = function () {
var label = this.value.length.toString() + " Data Points Selected";
this.valuesAsString = label;
}
希望对您有所帮助!
我是 JS
的新人。我有一个小问题 front-end task
,谷歌搜索了几个小时后我不知道如何解决它。
我需要在 PrimeNG MultiSelect 组件中覆盖此功能:MultiSelect.prototype.updateLabel
。
在项目中,我的工作是标签应该是静态的,但替代文本(悬停时)应该是动态的,就像最初实现的那样。
如果你能指出正确的方向,那就太好了。我找到了这个 page,但它对我没有帮助,因为我不知道如何正确地实现它。
在此先感谢您的帮助。
我不得不在我的项目中做同样的事情。
以下是我为让它工作所做的工作: 在您的组件的 .html 文件中添加如下内容:
<p-multiSelect #multiselect
[options]="someOptions"
[(ngModel)]="someModel.options"
[defaultLabel]="Did this work?"
(onChange)="onChange($event)"
>
</p-multiSelect>
在组件文件的构造函数下方,添加:
@ViewChild('multiselect') multi: MultiSelect;
我把我的放在一个总是被调用的 setter 中,但是无论你在哪里需要更改标签 - 也许在订阅函数中 - 你都可以覆盖使用:
this.multi.updateLabel = function () {
var label = this.value.length.toString() + " Data Points Selected";
this.valuesAsString = label;
}
希望对您有所帮助!