首页 > 其他分享 >#yyds干货盘点# react笔记之学习之完成添加功能

#yyds干货盘点# react笔记之学习之完成添加功能

时间:2022-12-22 16:02:47浏览次数:46  
标签:yyds const target setInputTime react 干货 useState import Card

前言

我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 微信公众号前端小歌谣 关注公众号带你进入前端学习交流群

#yyds干货盘点# react笔记之学习之完成添加功能_表单

代码案例

import React, {useState} from 'react';
import Card from "../UI/Card/Card";
import './LogsForm.css';

const LogsForm = (props) => {

const [inputDate, setInputDate] = useState('');
const [inputDesc, setInputDesc] = useState('');
const [inputTime, setInputTime] = useState('');


// 创建一个响应函数,监听日期的变化
const dateChangeHandler = (e) => {
setInputDate(e.target.value);
};

// 监听内容的变化
const descChangeHandler = (e) => {

setInputDesc(e.target.value);

};

//监听时长的变化
const timeChangeHandler = (e) => {
setInputTime(e.target.value);
};

// 当表单提交时,汇总表单中的数据
const formSubmitHandler = (e) => {
// 取消表单的默认行为
e.preventDefault();
// 获取表单项中的数据日期、内容、时长
// 将数据拼装为一个对象
const newLog = {
date: new Date(inputDate),
desc: inputDesc,
time: +inputTime
};

// 当要添加新的日志时,调用父组件传递过来的函数
props.onSaveLog(newLog);

// 清空表单项
setInputDate('');
setInputDesc('');
setInputTime('');
};

return (
<Card className="logs-form">
<form onSubmit={formSubmitHandler}>
<div className="form-item">
<label htmlFor="date">日期</label>
<input onChange={dateChangeHandler} value={inputDate} id="date" type="date"/>
</div>
<div className="form-item">
<label htmlFor="desc">内容</label>
<input onChange={descChangeHandler} value={inputDesc} id="desc" type="text"/>
</div>
<div className="form-item">
<label htmlFor="time">时长</label>
<input onChange={timeChangeHandler} value={inputTime} id="time" type="number"/>
</div>
<div className="form-btn">
<button>添加</button>
</div>
</form>
</Card>
);
};

export default LogsForm;

标签:yyds,const,target,setInputTime,react,干货,useState,import,Card
From: https://blog.51cto.com/u_14476028/5962981

相关文章

  • #yyds干货盘点# react笔记之学习之完成删除功能
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从......
  • react状态管理
    importReact,{useState,useMemo}from"react";/*搜索框案例searchKey-搜索关键字data-搜索结果数据filtered-筛选搜......
  • 命令行创建React项目
      cnpminstall-gcreate-react-app找一个创建项目的目录,用cmd打开资源管理器对应目录运行create-react-appdemo注意:安装过程中最好焦点不要移出cmd窗口,有时候会莫名其......
  • react中的api获取数组排序
    [javascript-SortanarrayofobjectsinReactandrenderthem-StackOverflow](https://stackoverflow.com/questions/43572436/sort-an-array-of-objects-in-reac......
  • 在React中使用CSS Modules
    1.为什么使用CSSModules?在React中,如果你直接在文件中引入index.css,当父组件和子孙组件的class属性相同时,那么会发生CSS样式覆盖的问题。如果解决样式覆盖的问......
  • 干货分享 | 界面组件 DevExpress v22.2 帮助文档下载大全
    获取DevExpressv22.2版本下载好消息!DevExpress v22.2帮助文档下载列表大全来啦,小编已经为大家悉心整理好了!包含.NET系列所有重要控件的帮助文档,目前仅提供CHM版本。文......
  • #yyds干货盘点#【愚公系列】2022年12月 微信小程序-three.js绘制球体
    前言Three.js是一款运行在浏览器中的3D引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。一个典型的Three.js程序至少要包括渲染器(Renderer)、场......
  • React报错之React.Children.only expected to receive single React element child
    总览当我们把多个子元素传递给一个只期望有一个React子元素的组件时,会产生"React.Children.onlyexpectedtoreceivesingleReactelementchild"错误。为了解决该错误,......
  • [react基础] 表单 受控组件 非受控组件 单选 多选 全选 下拉菜单 高阶函数与函数的柯
    文章目录​​表单处理​​​​1、受控组件​​​​受控组件实现登录输入框​​​​受控组件操作封装​​​​受控组件聚合封装​​​​受控组件之单个复选框.单选​​​​......
  • [react] 路由
    文章目录​​1.相关理解​​​​1.1.SPA的理解​​​​1.2.路由的理解​​​​1.2.1什么是路由?​​​​1.2.2路由分类​​​​2.react-router-dom相关API​​​​2.1......