动态调用管道转换时,Ng-select 不会更新选项



Ng-select (https://github.com/ng-select/ng-select( 在动态调用管道转换时(例如,当调用用于翻译选项值的服务时(不会更新值。

我尝试同时使用两者 - ng-option 方式和 ng-template 方式。

Ng-option-搜索有效,但语言更改后值不会更新。 Ng模板 - 更改后更新值,但搜索不起作用。

例: https://stackblitz.com/edit/ng-select-angular6-b5ru39

预期结果是选项自动更新或在调用管道转换时使用 ng-template 搜索工作正常。

语言服务应将当前语言公开为可观察量。一旦它是可观察对象,就可以使用异步管道在视图中订阅它。使用它,Angular 的 ChangeDetection 启动以再次调用管道。

你甚至可以让你的管道是纯的(这是默认的(,因为 Angular 会用新的语言代码再次调用它。

我已经在你的堆栈闪电战的这个分支中为你解决了这个问题。

另外,请记住,有很多好的翻译库(TransLoco,ngx-translate(,但如果数据本身是从服务器动态检索的,您仍然必须使用您的解决方案。

最新更新