Uni-app原生Tabbar使用多语言设置

Uni-app原生Tabbar使用多语言设置

第一步: app.vue




第2步:quotation.js

 watch(cartList, (value: IQuotationGoodsType[]) => {
        storage.set(cartCacheKey, value)
        uni.setTabBarBadge({ //显示数字
            index: 1,//tabbar下标
            text: cartList.value.length.toString()//数字
        })
    }, {
        deep: true
    })

第3步:set.vue

function setUserLocal() {
		user.setLocale(
			user.locale == 'es' ? 'zh-CN' : 'es'
		)
		console.log(user.locale)
		service.request({
			url: '/i18n/update/alias',
			method: 'GET',
			params: {
				alias: user.locale
			}
		}).then((res) => {
			user.logout()
			uni.$emit('languageChange')
			showTips('切换成功')
		})

	}

第4步:cl-popup.vue

// 打开
		function open() {
			// 层级
			zIndex.value = props.zIndex + id++;
			if (!props.showTabbar) {
				uni.hideTabBar()
			}
			if (!visible.value) {
				// 显示内容
				visible.value = true;

				emit("update:modelValue", true);
				emit("open");

				clearTimeout(timer);

				timer = setTimeout(() => {
					// 开始动画
					status.value = true;

					// 等待动画结束
					timer = setTimeout(() => {
						emit("opened");
					}, 350);
				}, 50);
			}
		}
// 关闭
		function close() {
			if (status.value) {
				const done = () => {
					// 关闭动画
					status.value = false;
					emit("close");
					uni.showTabBar()

					clearTimeout(timer);

					timer = setTimeout(() => {
						// 隐藏内容
						visible.value = false;
						emit("update:modelValue", false);
						emit("closed");
					}, 300);
				};

				done();
			}
		}

你可能感兴趣的:(uni-app)