解决vue-i18n Cannot translate the value of keypath 'stateList.'. Use the value of keypath as default.

项目中使用了i18n来解决国际化问题。碰到了警告:Cannot translate the value of keypath ‘stateList.’. Use the value of keypath as default.

百度了下,发现大多数都是配置i18n不显示警告的方式来解决,这不是掩耳盗铃么。

检查了下代码,发现其实是个很简单的问题:
在这里插入图片描述
如图,我在select中使用了i18n的$t函数,去匹配我的语言列表。但是这块的select是动态生成的,
在这里插入图片描述

源数据中存在空的情况,导致语言列表中有空值。$t找不到对应的key。所报的警告。

简单来说,就是$t(key),使用的时候key没有找到对应的值所报的警告。

不过对于特殊情况,可能隐藏警告也会有意义吧。所以还是列一下另一种简单粗暴的方式:

const i18n = new VueI18n({
  locale: lang, 
  messages, 
  // 隐藏警告
  silentTranslationWarn: true
});
  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值