彭彭
彭彭
  • 发布:2021-01-20 23:17
  • 更新:2021-12-29 10:27
  • 阅读:1023

mescrollUni 多语言的情况下 我切换了语言如何改公共配置

分类:uni-app

mescroll-uni-option 我配置好了语言,可是我切换语言的时候 配置不会更新,还是以前的语言。
因为很多页面用了这个插件,如果我每个页面单独改的话很麻烦,我就想直接改mescroll-uni-option.js 可是切换语言之后配置没有更新怎么办啊,求大神解答

2021-01-20 23:17 负责人:无 分享
已邀请:
wenju

wenju - https://www.mescroll.com -- 精致的下拉刷新和上拉加载组件

  1. 修改源码mescroll-body.vue和mescroll-uni.vue, 新增 uni.$on("setMescrollGlobalOption",options)的监听
        created() {  
            ....  

            // 全局配置监听  
            uni.$on("setMescrollGlobalOption", options=>{  
                if(!options) return;  
                if(options.down){  
                    let down = MeScroll.extend({}, options.down)  
                    vm.mescroll.optDown = MeScroll.extend(down, vm.mescroll.optDown)  
                }  
                if(options.up){  
                    let up = MeScroll.extend({}, options.up)  
                    vm.mescroll.optUp = MeScroll.extend(up, vm.mescroll.optUp)  
                }  
            })  
        },  
        destroyed() {  
            // 注销全局配置监听  
            uni.$off("setMescrollGlobalOption")  
        }
  1. 在切换语音的地方调用uni.$emit("setMescrollGlobalOption", options)即可
    // 中文配置  
                let EnglishOption = {  
                    down: {  
                        textInOffset: 'drop down refresh',  
                        textOutOffset: 'release updates',  
                        textLoading: 'loading ...',  
                        textSuccess: 'loaded successfully',  
                        textErr: 'loading failed'  
                    },  
                    up: {  
                        textLoading: 'loading ...',  
                        textNoMore: '-- END --',  
                        empty: {  
                            tip: '~ absolutely empty ~',  
                            btnText: 'go shopping >'  
                        }  
                    }  
                }  
                // 英文配置  
                let ChineseOption = {  
                    down: {  
                        textInOffset: '下拉刷新',  
                        textOutOffset: '释放更新',  
                        textLoading: '加载中 ...',  
                        textSuccess: '加载成功',  
                        textErr: '加载失败'  
                    },  
                    up: {  
                        textLoading: '加载中 ...',  
                        textNoMore: '-- END --',  
                        empty: {  
                            tip: '~ 空空如也 ~',  
                            btnText: '去逛逛 >'  
                        }  
                    }  
                }  
                // 模拟语言切换  
                this.isChinese = !this.isChinese  
                let options = this.isChinese ? ChineseOption : EnglishOption;  
                uni.showToast({icon: "none", title: this.isChinese ? "已切换为中文语言" : "switched to English"})  
                // 动态更新全局配置  
                uni.$emit("setMescrollGlobalOption", options)
  • 彭彭 (作者)

    感谢作者大大指导,另外这个插件真的好用!!!我每个项目都用的它,希望作者大大越来越厉害

    2021-01-23 15:48

1***@qq.com

1***@qq.com

您好,我这边前几遍切换语言是没有问题的,但是我切换三四次之后又不会更新这个语言了

  • wenju

    我跑了一下DEMO 未重新此问题

    2021-12-29 13:24

  • 1***@qq.com

    回复 wenju: 请问可能是uniapp的tab页面缓存问题吗

    2021-12-29 16:02

该问题目前已经被锁定, 无法添加新回复