当前位置: 首页 > news >正文

【我的代码生成器】React的FrmUser类源码

FrmUser 类的源码中:FrmUser btnSaveClick 等命名方式都是参考VB.Net的写法。

import React, { forwardRef, useImperativeHandle, useState, useEffect, } from "react";
import { makeStyles, TextField, Grid, Paper, Button, ButtonGroup, } from "@material-ui/core";
import { useStore } from "react-redux";const FrmUser = forwardRef((props, ref) => {const css = cssStyles();const [model,setModel] = useState({intID:"",strName:"",dtmBirthday:"",intAge:"",decMoney:"",strRemarks:"",});useEffect(() => {loadDataInit();}, []);function loadDataInit(){}const updateChanged = (e) =>{const { name, value } = e.target;updateModelData(name, value);}const updateModelData = (key, value ="") =>{setModel(prevState => ({...prevState, [key]: value}));}function validateUIData(){console.log(model);//if(model.key=="") return false;return true;}const btnSaveClick = async(type) => {if(!validateUIData()) return;let type = "Add";//if(model.id>0) type="Update";return true;}const btnClearAllClick = () => {Object.keys(model).forEach(key => {updateModelData(key);});} const btnDeleteClick = () => {console.log(model);let type = "Delete";}useImperativeHandle(ref, () => ({loadDataSelected(row) {btnClearAllClick();if (row !== undefined) {Object.keys(row).forEach(key => {if (row[key] !== undefined) {updateModelData(key, row[key]);}});}},}));return (<Paper  className={css.paper}><h3>User</h3><Grid container spacing={3}><Grid item xs={4}><TextFieldfullWidthname="intID"value={model.intID}onChange={updateChanged}label="ID"/></Grid><Grid item xs={4}><TextFieldfullWidthname="strName"value={model.strName}onChange={updateChanged}label="Name"/></Grid><Grid item xs={4}><TextFieldfullWidthname="dtmBirthday"value={model.dtmBirthday}onChange={updateChanged}label="BirthdayDate"/></Grid><Grid item xs={4}><TextFieldfullWidthname="intAge"value={model.intAge}onChange={updateChanged}label="Age"/></Grid><Grid item xs={4}><TextFieldfullWidthname="decMoney"value={model.decMoney}onChange={updateChanged}label="Money"/></Grid><Grid item xs={4}><TextFieldfullWidthname="strRemarks"value={model.strRemarks}onChange={updateChanged}label="Remarks"/></Grid></Grid><Grid container spacing={3}><Grid item xs={3}><ButtonType = "submit"variant="contained"fullWidthcolor = "primary"className = {css.submit}onClick={() => btnSaveClick()}>Save</Button></Grid><Grid item xs={3}><ButtonType = "submit"variant="contained"fullWidthcolor = "danger"className = {css.delete}onClick={() => btnDeleteClick()}>Delete</Button></Grid><Grid item xs={3}><ButtonType = "submit"variant="contained"fullWidthcolor = "defualt"className = {css.reset}onClick={() => btnClearAllClick()}>Clear All</Button></Grid></Grid></Paper>);});export default FrmUser;const cssStyles = makeStyles((theme) => ({paper: {padding: theme.spacing(3),flexDirection: "row",justifyContent: "space-between",},submit: {color: "#ffffff",backgroundColor: "#72421E",fontFamily: "Vollkorn",marginTop: 3,},reset: {color: "#ffffff",backgroundColor: "#7242EE",fontFamily: "Vollkorn",marginTop: 3,},delete: {color: "#ffffff",backgroundColor: "#FE0000",fontFamily: "Vollkorn",marginTop: 3,},
}));
http://www.lryc.cn/news/339435.html

相关文章:

  • Flutter 单例模式的多种实现方法与使用场景分析
  • C语言洛谷题目分享(9)奇怪的电梯
  • vue 中使 date/time/datetime 类型的 input 支持 placeholder 方法
  • 书生·浦语大模型全链路开源体系-第3课
  • Weblogic任意文件上传漏洞(CVE-2018-2894)漏洞复现(基于vulhub)
  • 链表基础3——单链表的逆置
  • Fiddler:网络调试利器
  • 【笔记】mysql版本6以上时区问题
  • Scala实战:打印九九表
  • Excel文件解析
  • 纯css实现switch开关
  • Unity3d 微信小游戏 AB资源问题
  • Leetcode二叉树刷题
  • 如何给自己的网站添加 https ssl 证书
  • Vue路由跳转及路由传参
  • 计算机网络常见面试总结
  • 时隔一年,再次讨论下AutoGPT-安装篇
  • 项目三:学会如何使用python爬虫请求库(小白入门级)
  • 【热门话题】PyTorch:深度学习领域的强大工具
  • SQL注入sqli_libs靶场第一题
  • QT_day3
  • 使用ADO.NET访问数据库
  • SpringBoot的旅游管理系统+论文+ppt+免费远程调试
  • 数据结构---线性表
  • MySQL 8.0 字符集问题导致报错
  • 单路高清HDMI编码器JR-3211HD
  • 分库,分表,分区,分片
  • 【详解算法流程+程序】DBSCAN基于密度的聚类算法+源码-用K-means和DBSCAN算法对银行数据进行聚类并完成用户画像数据分析课设源码资料包
  • java es相关操作
  • 腾讯EdgeOne产品测评体验——开启安全防护,保障数据无忧