wip(Login): Login developing
parent
3810b8c3b2
commit
4d52f7bf58
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 55 KiB |
@ -1,8 +1,8 @@
|
|||||||
import VFrom from './src/Form.vue'
|
import Form from './src/Form.vue'
|
||||||
|
|
||||||
export interface VFormExpose {
|
export interface FormExpose {
|
||||||
count: number
|
count: number
|
||||||
sayHello: () => void
|
sayHello: () => void
|
||||||
}
|
}
|
||||||
|
|
||||||
export { VFrom }
|
export { Form }
|
||||||
|
|||||||
@ -0,0 +1,3 @@
|
|||||||
|
import SizeDropdown from './src/SizeDropdown.vue'
|
||||||
|
|
||||||
|
export { SizeDropdown }
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { computed } from 'vue'
|
||||||
|
import { ElDropdown, ElDropdownMenu, ElDropdownItem } from 'element-plus'
|
||||||
|
import { useAppStore } from '@/store/modules/app'
|
||||||
|
import { useCssVar } from '@vueuse/core'
|
||||||
|
import { useI18n } from '@/hooks/web/useI18n'
|
||||||
|
const { t } = useI18n()
|
||||||
|
|
||||||
|
const appStore = useAppStore()
|
||||||
|
|
||||||
|
const sizeMap = computed(() => appStore.sizeMap)
|
||||||
|
|
||||||
|
const textColor = useCssVar('--el-text-color-primary', document.documentElement)
|
||||||
|
|
||||||
|
function setSize(size: ElememtPlusSzie) {
|
||||||
|
appStore.setSize(size)
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<ElDropdown trigger="click" @command="setSize">
|
||||||
|
<Icon icon="mdi:format-size" :color="textColor" class="cursor-pointer" />
|
||||||
|
<template #dropdown>
|
||||||
|
<ElDropdownMenu>
|
||||||
|
<ElDropdownItem v-for="item in sizeMap" :key="item" :command="item">
|
||||||
|
{{ t(`size.${[item]}`) }}
|
||||||
|
</ElDropdownItem>
|
||||||
|
</ElDropdownMenu>
|
||||||
|
</template>
|
||||||
|
</ElDropdown>
|
||||||
|
</template>
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { Form } from '@/components/Form'
|
||||||
|
|
||||||
|
const schema: FormSchema[] = [
|
||||||
|
{
|
||||||
|
field: 'username',
|
||||||
|
component: 'Input'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'password',
|
||||||
|
component: 'InputPassword'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<Form :schema="schema" :label-width="0" />
|
||||||
|
</template>
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
import LoginForm from './LoginForm.vue'
|
||||||
|
|
||||||
|
export { LoginForm }
|
||||||
Loading…
Reference in New Issue