mirror of
https://github.com/vbenjs/gf-vben-admin.git
synced 2025-02-03 03:32:59 +08:00
fix: useI18n type
This commit is contained in:
parent
3509ebec16
commit
c22de5c35b
@ -1,6 +1,21 @@
|
||||
import { i18n } from '/@/locales/setupI18n';
|
||||
|
||||
export function useI18n(namespace?: string) {
|
||||
type I18nGlobalTranslation = {
|
||||
(key: string): string;
|
||||
(key: string, locale: string): string;
|
||||
(key: string, locale: string, list: unknown[]): string;
|
||||
(key: string, locale: string, named: Record<string, unknown>): string;
|
||||
(key: string, list: unknown[]): string;
|
||||
(key: string, named: Record<string, unknown>): string;
|
||||
};
|
||||
|
||||
type I18nTranslationRestParameters = [string, any];
|
||||
|
||||
export function useI18n(
|
||||
namespace?: string
|
||||
): {
|
||||
t: I18nGlobalTranslation;
|
||||
} {
|
||||
function getKey(key: string) {
|
||||
if (!namespace) {
|
||||
return key;
|
||||
@ -22,9 +37,9 @@ export function useI18n(namespace?: string) {
|
||||
|
||||
const { t, ...methods } = i18n.global;
|
||||
|
||||
const tFn: typeof t = (key: string, ...arg: any) => {
|
||||
const tFn: I18nGlobalTranslation = (key: string, ...arg: any[]) => {
|
||||
if (!key) return '';
|
||||
return t(getKey(key), ...(arg as Parameters<typeof t>));
|
||||
return t(getKey(key), ...(arg as I18nTranslationRestParameters));
|
||||
};
|
||||
return {
|
||||
...methods,
|
||||
|
@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<PageWrapper title="图片预览示例">
|
||||
<ImagePreview :imageList="imgList" />
|
||||
<Alert message="有预览图" type="info" />
|
||||
<div class="flex justify-center mt-4">
|
||||
<img :src="img" v-for="img in imgList" :key="img" class="mr-2" @click="handleClick(img)" />
|
||||
@ -11,7 +12,7 @@
|
||||
<script lang="ts">
|
||||
import { defineComponent } from 'vue';
|
||||
import { Alert } from 'ant-design-vue';
|
||||
import { createImgPreview } from '/@/components/Preview/index';
|
||||
import { createImgPreview, ImagePreview } from '/@/components/Preview/index';
|
||||
import { PageWrapper } from '/@/components/Page';
|
||||
|
||||
const imgList: string[] = [
|
||||
@ -20,7 +21,7 @@
|
||||
'https://picsum.photos/id/68/346/216',
|
||||
];
|
||||
export default defineComponent({
|
||||
components: { Alert, PageWrapper },
|
||||
components: { Alert, PageWrapper, ImagePreview },
|
||||
setup() {
|
||||
function handleClick(img: string) {
|
||||
createImgPreview({ imageList: [img] });
|
||||
|
Loading…
Reference in New Issue
Block a user