前端项目实战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

相关文章
前端性能优化:虚拟滚动技术原理与实战
前端性能优化:虚拟滚动技术原理与实战
244 80
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
273 83
React音频播放列表组件开发实战:常见问题与避坑指南
本文介绍了构建React音频播放列表组件的核心架构与常见问题解决方案。通过管理播放状态、列表索引和音频进度,结合异步控制、状态清理、节流优化等技术,确保流畅的用户体验。针对移动端兼容性、内存泄漏、列表渲染性能等问题提供了具体修复方案,并分享了自定义Hook封装、可视化音频波形等进阶实践。最后,总结了性能优化法则和测试关键点,帮助开发者打造生产级可靠的音频播放组件。
140 18
DeepSeek Artifacts:在线实时预览的前端 AI 编程工具,基于DeepSeek V3快速生成React App
DeepSeek Artifacts是Hugging Face推出的免费AI编程工具,基于DeepSeek V3,支持快速生成React和Tailwind CSS代码,适合快速原型开发和前端组件构建。
1911 39
DeepSeek Artifacts:在线实时预览的前端 AI 编程工具,基于DeepSeek V3快速生成React App
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
235 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
前端状态管理:Vuex 核心概念与实战
Vuex 是 Vue.js 应用程序的状态管理模式和库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。本教程将深入讲解 Vuex 的核心概念,如 State、Getter、Mutation 和 Action,并通过实战案例帮助开发者掌握在项目中有效使用 Vuex 的技巧。
探索现代前端框架——React 的性能优化策略
探索现代前端框架——React 的性能优化策略
133 0
探索现代前端框架——React 的性能优化策略
探索现代前端框架——React 的性能优化策略
138 0
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
698 14
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等