前端项目实战214-react实现移动端控制界面设置

简介: 前端项目实战214-react实现移动端控制界面设置
import React, { useEffect, useState } from 'react';
import { Input, Button, Form, message } from 'antd';
import "./login.scss"
import { useForm } from 'antd/es/form/Form';
import { UserLogin } from "../sevices/codeing/codeing"
interface ILogin {
    onConfirm:()=>void
}
interface IUserInfo {
    username: string;
    password: string;
}
interface ILoginParams {
    username: string;
    tanant?: string;
    password: string;
}
const Login: React.FC<ILogin> = (props: any) => {
    const [user, setUser] = useState<IUserInfo>({ username: "", password: "" });
    const [spinning, setSpinning] = useState<boolean>(false);
    const [form] = useForm()
    useEffect(() => {
        //注册回车键
        let monitorKeyBoardEvent = (e: KeyboardEvent) => {
            if (e.code === "Enter") {
                handleLogin();
            }
        };
        document.addEventListener<"keydown">("keydown", monitorKeyBoardEvent);
        return () =>
            document.removeEventListener<"keydown">("keydown", monitorKeyBoardEvent);
    });
    const handleLogin = async () => {
        setSpinning(true);
        const data = await form.validateFields()
        const response = await UserLogin(data)
        if (response.code == 200) {
            message.success("登陆成功", 1);
            console.log(response.data,"responseresponse")
            localStorage.setItem("userId",JSON.stringify(response.data.user.userId))
            props.onConfirm()
            setSpinning(true);
        } else {
            setSpinning(false);
            message.warning(response.message);
        }
        console.log(response, "response")
    };
    return (
        <div className='Login'>
            <div className='Login_title'>PDA管理系统</div>
            <div className='Login_form'>
                <Form
                    name="menu"
                    form={form}
                >
                    <Form.Item
                        label="账号"
                        name="account"
                        rules={[{ required: false, message: '请输入账号' }]}
                    >
                        <Input placeholder="请输入账号" />
                    </Form.Item>
                    <Form.Item
                        label="密码"
                        name="password"
                        rules={[{ required: false, message: '请输入密码' }]}
                    >
                        <Input placeholder="请输入密码" />
                    </Form.Item>
                </Form>
            </div>
            <div>
                <Button onClick={handleLogin}>登录</Button>
            </div>
        </div>
    );
}
export default Login

image.png

相关文章
|
2月前
|
移动开发 前端开发 JavaScript
React 表单验证实战
【10月更文挑战第25天】本文介绍了 React 表单验证的常见方法,包括原生 HTML5 验证、自定义验证逻辑和第三方库(如 Formik 和 Yup)的使用。通过具体代码示例,详细讲解了每种方法的实现步骤,并探讨了常见问题和易错点及其解决方法。旨在帮助开发者提高表单验证的有效性和安全性。
86 8
|
2月前
|
前端开发 API
前端界面生成PDF并导出下载
【10月更文挑战第21天】利用合适的第三方库,你可以在前端轻松实现界面生成 PDF 并导出下载的功能,为用户提供更方便的文档分享和保存方式。你还可以根据具体的需求进一步优化和定制生成的 PDF 文件,以满足不同的业务场景要求。
|
2月前
|
前端开发 JavaScript API
React Native实战:构建跨平台移动应用
React Native实战:构建跨平台移动应用
40 0
|
3月前
|
前端开发 数据安全/隐私保护
前端技术实战:React Hooks 实现表单验证
【10月更文挑战第1天】前端技术实战:React Hooks 实现表单验证
|
4月前
|
前端开发
React技术栈-react使用的Ajax请求库实战案例
这篇文章介绍了在React应用中使用Axios和Fetch库进行Ajax请求的实战案例,展示了如何通过这些库发送GET和POST请求,并处理响应和错误。
65 10
|
4月前
|
前端开发 JavaScript 开发者
现代前端框架激烈交锋,高效响应式 Web 界面的归属扑朔迷离!
【9月更文挑战第6天】本文通过实际案例,比较了主流前端框架 Vue.js、React 和 Angular 的特点与优势。Vue.js 以简洁的语法和灵活的组件化架构著称,适合小型到中型项目;React 强调性能和可扩展性,适用于大型应用;Angular 凭借全面的功能和严格架构,适合企业级开发。开发者应根据项目需求和技术栈选择合适的框架。
57 0
|
5月前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
62 0
|
5月前
|
开发者
告别繁琐代码,JSF标签库带你走进高效开发的新时代!
【8月更文挑战第31天】JSF(JavaServer Faces)标准标签库为页面开发提供了大量组件标签,如`&lt;h:inputText&gt;`、`&lt;h:dataTable&gt;`等,简化代码、提升效率并确保稳定性。本文通过示例展示如何使用这些标签实现常见功能,如创建登录表单和展示数据列表,帮助开发者更高效地进行Web应用开发。
51 0
|
3月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
205 2
|
3月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
58 0