我是新的角,我尝试使用模块NG2-完成与
问题是,当我从服务器端撤回JSON时,JSON是:
[{"id":10,"tipo":"EUR"},{"id":20,"tipo":"USD"}]我希望在标记中使用tipo作为值。
<ng2-completer #openCloseSelect
class="completer-limit"
[datasource]="dataService4"
[inputClass]="'form-control'"
[minSearchLength]="0"
[openOnFocus]="false"
[placeholder]="'SCEGLI' | translate"
[autoHighlight]="true"
[selectOnClick]="true"
[fillHighlighted]="false">
</ng2-completer>其中,"dataService4“在构造函数中初始化为
completerService.local(this.diviseAzioni,"tipo",“tipo”;//diviseAzioni是类DivisaAzioni { id: number;tipo: string;} (服务器端的JSON )的列表。
并利用角的TranslateModule变换tipo的值。
例如,EUR:“欧元”,美元:“美元”作为选择的textLabel。
谢谢。
发布于 2018-04-18 17:22:02
这方面的挑战是,您需要一个与实际数据值不同的显示值(如果我正确地解释了您的问题)。
看看ng2-completer的文档,我看不出有什么办法。你的选择似乎是:
1)通过修改ng2-completer源代码(不推荐)将解决方案合并在一起。
2)重写您的服务如下:当数据来自它正在调用的任何API时,立即用转换模块来翻译它,并且只公开转换后的值。每当您使用服务保存或发送值时,请将其转换回源文本。您可以通过本地地图加快速度,这样您就不必通过网络调用进行反向翻译。
3)使用垫-自动完成。您可以只包括您需要的组件,尽管它仍然很重。但是,它确实具有这样的功能:https://material.angular.io/components/autocomplete/overview#setting-separate-control-and-display-values
https://stackoverflow.com/questions/49904640
复制相似问题