如何本地化ember-power-select组件的「No results found」文本?
如何本地化ember-power-select的「No results found」文本
我之前也遇到过一模一样的问题:想修改ember-power-select组件里的「No results found」提示文本,翻遍项目代码库都找不到这个字符串,谷歌搜了一圈也没找到靠谱的解决方案。后来在组件的官方文档里挖到了正确的处理方式,特意整理出来方便大家检索到:
解决方案
ember-power-select本身提供了专门的API参数来自定义这些提示文本,完全不需要去修改组件源码或者找隐藏的字符串:
- 替换「No results found」提示:使用
noMatchesMessage参数 - 自定义加载状态提示:对应的参数是
loadingMessage
示例代码
如果你的项目用了ember-intl这类国际化工具,可以直接绑定翻译键:
<PowerSelect @options={{this.options}} @selected={{this.selected}} @onChange={{this.onChange}} @noMatchesMessage={{t 'components.power-select.no-results'}} @loadingMessage={{t 'components.power-select.loading'}} />
如果不需要国际化,直接传入自定义字符串即可:
<PowerSelect @options={{this.options}} @selected={{this.selected}} @onChange={{this.onChange}} @noMatchesMessage="没有找到匹配结果" @loadingMessage="加载中..." />
除了这两个参数,组件还支持自定义其他提示文本(比如搜索框占位符等),可以查看官方的API参考文档了解更多细节。
内容的提问来源于stack exchange,提问作者Devin Rhode
相关产品推荐
相关产品推荐

