React__TodoList 简单增删改查—本地存储-案例

  1 import React, { Component } from ‘react‘
  2
  3 export default class todolist extends Component {
  4     constructor(props) {
  5         super()
  6         this.state = {
  7             name: []
  9              }
 10         }
 12           //refs
 13     todoonclick = () => {
 14         if (this.refs.inputmy.value === ‘‘) {
 15             alert(‘請輸入‘)
 16         } else {
 17             let name = this.refs.inputmy.value
 18             this.setState({
 19                 name: [...this.state.name, name]
 20             },()=>{
 21                 window.localStorage.setItem(‘myList‘,this.state.name)
 22             })
 23         }
 24         this.refs.inputmy.value = ‘‘;
 25           }
 26     render() {
 27         return (
 28             <div>
 29                 {/* ref */}
 30                 <input type=‘text‘ onKeyDown={(e) => {
 31                     if (e.keyCode === 13) {
 32                         this.todoonclick()
 33                     }
 34                 }} ref=‘inputmy‘></input>
 35                 <button onClick={this.todoonclick}>添加</button>
 36                 <div >
 37                     <ul >
 39                         {
 40                             this.state.name.map((item, index) => {
 41                                 return (
 43                                     <li className=‘todo_div‘ key={index}>{item}&nbsp;&nbsp;&nbsp;&nbsp;
 45                                       <div>
 46                                             {/* 修改事件 */}
 47                                             <button onClick={() => {
 48                                                 //   先获取原来的
 49                                                 let yuanl = this.state.name;
 50                                                 var propmt = window.prompt(‘修改‘)
 51                                                 if (propmt != null) {
 52                                                     //删除原来的第一个,把新的放入
 53                                                     yuanl.splice(index, 1, propmt)
 54                                                     this.setState({
 55                                                         mm: yuanl
 56                                                         //  本体存储  把更新后的state数据更新到localStrong中
 57                                                     }, () => {
 58                                                         window.localStorage.setItem(‘myList‘, this.state.name)
 59                                                     })
 60                                                 }
 61                                             }}>修改</button>
 62                                         </div>
 63
 64                                         <button onClick={() => {
 65                                             this.state.name.splice(index, 1)
 66                                             this.setState({
 67                                                 name: this.state.name
 68                                             },()=>{
 69
 70               window.localStorage.setItem(‘myList‘,this.state.name)
 71                                             })
 72                                         }}>刪除</button>
 73                                     </li>)
 74                             }
 75                             )
 76                         }
 77                     </ul>
 78                 </div>
 80                     {this.state.name.map((item, index) => <li key={index}>{item}
 81                  </li>)}
 82                 </ul> */}
 83                </div>
 84             ) }
 85
 86     //加載时执行
 87     componentWillMount() {
 88
 89         //localStrong 中获取 myList
 90
 91         var myList = window.localStorage.getItem(‘myList‘)
 92         if (myList == null || myList === ‘‘) {
 93             myList = [];
 94         } else {
 95             myList = myList.split(‘,‘)
 96         }
 97         this.setState({
 98             name: myList
 99         })
100
101     }
102 }

原文地址:https://www.cnblogs.com/jiazhaolong/p/12093183.html

时间: 2025-01-03 06:12:11

React__TodoList 简单增删改查—本地存储-案例的相关文章

[EF]使用EF简单增删改查

目录 认识EF 添加数据 删除数据 修改数据 查询数据 总结 认识EF ADO.NET Entity Framework 是微软以ADO.NET为基础所发展出来的对象关系对伊(O/R Mapping)解决方案,早起被称为ObjectSpage,最新版本EF6. 实体框架Entity Framework是ADO.NET中的一组支持面向数据的软件应用程序的技术.是微软的一个ORM框架. 什么是O/R Mapping 广义上,ORM指的是面向对象模型和关系数据库的数据结构之间的相互转换. 狭义上,OR

Linq to SQL 简单增删改查

Linq to SQL 简单增删改查 用Linq大大减少了对数据库的一般操作所需的编码量. 运行下面事例之前,首先建一个叫做Alien的数据库表. CREATE TABLE [dbo].[Aliens](    [Id] [int] IDENTITY(1,1) NOT NULL primary key,    [Name] [nchar](10) NULL,) 建一个console项目,在项目里添加一个Linq To Sql类文件(.dbml以及两个附属文件),把Alien表从服务器资源管理器拖

kendoUI 简单增删改查

1  目前学习主要基于kendoUI英文API文档(http://docs.telerik.com/kendo-ui/introduction) 2  在已经搭建的MVC+EF+kendo UI的基础上实现Kendo UI增删改查功能 3 增删改查代码示例: 3-1:主要展示前台实现代码,因为后台代码不是唯一,可自行配置,返回JSON数据 3-1:html代码如下 3-1-1:查询和列表展示 HTML代码,列表展示只需要一个div标签 ,如下(div id="grid"><

Redis之五种数据类型的简单增删改查

开心一笑 乌龟受伤.让蜗牛去买药.过了2个小时.蜗牛还没回来.乌龟急了骂道:他妈的再不回来老子就死了!这时门外传来了蜗牛的声音:你他妈再说老子不去了! 提出问题 Redis五种数据类型的简单增删改查命令??? 解决问题 假设你已经安装Redis服务器: 假设你已经打开Redis cli命令行工具: 假设你对Redis有所了解: Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" O

Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库

Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库 大概步骤如下5步: 1.创建项目(Asp.net Core 2.1项目) 2.项目使用EF Core 3.建立实体 4.生成迁移文件(生成数据库) 5.使用VS工具生成视图.控制器代码 示例代码下载  https://github.com/ZhMartincheng/NetCoreDemo.git 1.创建项目(Asp.net Core 2.1项目) 选择.net core 版本2.1 基础项目创建成功 2.项目使用E

hibernate基本配置与简单增删改查

ORM(Object Relation Mapping)是对象关系映射,是一个思想,它的作用是在关系数据库与对象之间做一个自动映射,将数据库中的表格映射到一个类,也就是持久化类,数据表中每行映射为对象,行中的各个字段映射为对象的属性,这样可以在开发中使用面向对象的思想来操作数据库. 其中hibernate是ORM思想实现的一个持久层框架. 其中有三个主要的内容:1.持久化类(*.java) 2.映射文件(*.hbm.xml) 3.配置文件(*.cfg.xml) 使用Hibernate框架搭建一个

Android_ADB 常用 shell命令 和 sqlite3 简单增删改查

今天学习了一个ADB的常用命令.接下来简单使用几个常用ADB shell 命令. 首先我们得明白什么是adb.exe ADB -Android Debug Bridge, 是 Android sdk 里的一个工具,用这个工具可以直接操作管理 Android 模拟器或者真实的 Android 设备 简单来说,ADB 是一个[客户端(pc)-服务器端(android)]程序. 当然,重要的一点是,你的 Android 设备得打开 USB 调试 ADB 的主要功能有: 1.运行设备的 shell(命令

BootStrap DataTables Spring MVC简单增删改查实例

1 <!DOCTYPE html> 2 <%@ page contentType="text/html;charset=gbk" language="java" %> 3 <%@page isELIgnored="false" %> 4 <meta name="viewport" content="width=device-width, initial-scale=1&quo

利用LINQ to SQL 增删改查本地数据库

C#新人,博客园第一篇博文,希望大家多多指教. 最近趁项目空隙,学习了LINQ,其强大高效易读的数据操作方式令人印象深刻.特别是LINQ to SQL,让用户可以像操作内存对象一样操作SQL数据库.在阅读了<深入理解c#>和参考以下四篇博文后,自己摸索,完成了创建本地SQL数据库和数据表,VS连接数据库,到利用LINQ to SQL增删改查数据库表中信息. SQL服务器安装:http://www.downcc.com/tech/4135.html SQL数据库和数据表格创建:http://bl