<script setup lang="ts">
import { reactive, ref } from 'vue';
import type { FormInst, FormRules } from 'naive-ui';
import { EnumLoginModule } from '@/enum';
import { useAuthStore } from '@/store';
import { useRouterPush } from '@/composables';
import { formRules } from '@/utils';
import { OtherAccount } from './components';
const auth = useAuthStore();
const { login } = useAuthStore();
const { toLoginModule } = useRouterPush();
const formRef = ref<HTMLElement & FormInst>();
const model = reactive({
userName: 'Soybean',
password: 'soybean123'
});
const rules: FormRules = {
password: formRules.pwd
};
const rememberMe = ref(false);
async function handleSubmit() {
await formRef.value?.validate();
const { userName, password } = model;
login(userName, password);
}
function handleLoginOtherAccount(param: { userName: string; password: string }) {
const { userName, password } = param;
login(userName, password);
}
</script>
<style scoped></style>
Footer
© 2022 GitHub, Inc.
Footer navigation
Terms
Privacy
这段代码不是太懂,求大佬们帮解释下
我看登陆是调用 handleSubmit
,handleSubmit
是await
formRef
,这个 formRef
的值ref<HTMLElement & FormInst>();
是啥意思?
const { login } = useAuthStore();
这个也不是很懂,我看也没有 import login 函数啊,这行代码的意思是 把 useAuthStore 的返回值 赋给 login 函数?
1
renmu 2022-10-22 22:41:42 +08:00 via Android
formref 就是一个那个自定义 form 标签的 ref ,然后调用 validdate 方法。
@/store 里有个 useauthstore 函数,里面有登录的逻辑 |
2
vecZro 2022-10-22 22:48:00 +08:00 via Android
formRef 应该是获取表单组件的引用吧,提交表单的时候调用这个表单组件的 validate 方法进行表单数据的验证
const { login } = useAuthStore()就是解构 useAtuStore 函数执行完会返回一个对象,这个对象里面会包含这个 login 属性 const res = useAuthStore() const login = res.login https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment |