如何为项目中所有SweetAlert统一设置多语言默认按钮文本?
如何为项目中所有SweetAlert统一设置多语言默认按钮文本?
嘿,我来帮你解决这个问题!你想用setDefaults统一配置SweetAlert的多语言按钮文本但没生效,大概率是配置项的格式没对应上你用的2.1.2版本的API规则,咱们调整一下写法就好~
问题出在哪?
你当前写的嵌套buttons的配置,是旧版SweetAlert(v1)的写法,但你安装的是SweetAlert2的2.1.2版本,两者的默认配置项结构差异很大,所以你的设置没被弹窗识别到。
正确的配置方式
针对你使用的2.1.2版本,直接在setDefaults里使用confirmButtonText和cancelButtonText这两个顶级配置项就行,替换掉你原来的嵌套写法:
swal.setDefaults({ confirmButtonText: LANG.ok, cancelButtonText: LANG.cancel });
几个关键注意点
- 一定要把这段配置代码放在所有SweetAlert弹窗调用之前执行,比如放在项目的入口文件里,或者引入SweetAlert之后、第一个
swal()调用之前加载,这样所有后续的弹窗才能继承这个默认配置。 - 先确认
LANG对象已经正确加载了对应的语言字符串,比如LANG.ok和LANG.cancel能正常输出你需要的文本,而不是undefined,不然按钮会显示空或者默认文本。 - 如果需要给按钮加样式或者其他属性,也可以在
setDefaults里扩展配置,比如:
swal.setDefaults({ confirmButtonText: LANG.ok, cancelButtonText: LANG.cancel, confirmButtonClass: 'your-confirm-btn-class', cancelButtonClass: 'your-cancel-btn-class' });
这样设置后,你项目里所有没单独指定按钮文本的SweetAlert弹窗,都会自动使用你配置的多语言内容啦~
内容来源于stack exchange
相关产品推荐
相关产品推荐

