zoukankan      html  css  js  c++  java
  • react增删改查

    react增删改查

    import React, { Component } from 'react'
    import axios from 'axios'
    export default class List extends Component {
        constructor() {
            super()
            this.state = {
                list: [],
                username: "",
                age: ""
            }
        }
        componentDidMount() {
            this.find()
        }
        handleChange = e => {
            this.setState({
                [e.target.id]: e.target.value
            })
        }
        find = () => {
            axios.get("http://localhost:3001/list").then(res => {
                this.setState({
                    list: res.data
                })
            })
        }
        add = () => {
            axios.post("http://localhost:3001/list", {
                username: this.state.username,
                age: this.state.age
            }).then(res => {
                this.find()
            })
        }
        del = (id) => {
            axios.delete("http://localhost:3001/list/" + id).then(res => {
                this.find()
            })
        }
        update = (item) => {
            let value =  prompt("请输入修改内容..",item.username+","+item.age)
            if(value){
                var arr = value.split(",")
                //派发 patch请求
                axios.patch("http://localhost:3001/list/"+item.id,{
                    username:arr[0],
                    age:arr[1]
                }).then(res=>{
                    this.find()
                })
            }
        }
        select = () => {
            axios.get("http://localhost:3001/list?username_like=" + this.state.username).then(res => {
                console.log(res)
                this.setState({
                    list: res.data
                })
            })
        }
        render() {
            let { list, username, age } = this.state
            return (
                <div>
                    <label>用户名:<input id="username" value={username} onChange={this.handleChange} placeholder="请输入用户名"></input></label>
                    <label>年龄:<input id="age" value={age} onChange={this.handleChange} placeholder="请输入年龄"></input></label>
                    <button onClick={this.add}>添加</button>
                    <button onClick={this.select}>查询</button>
                    <ul>
                        {
                            list.map((item, index) => {
                                return <li key={index}>{item.username}---{item.age}
                                    <button onClick={this.del.bind(this, item.id)}>删除</button>
                                    <button onClick={this.update.bind(this, item)}>修改</button>
                                </li>
                            })
                        }
                    </ul>
                </div>
            )
        }
    }
  • 相关阅读:
    select接收后台返回值的解决方案
    junit 使用
    jsoup解析HTML及简单实例
    面向接口编程及适配器模式
    数据库 SQL语句小结(更新中)
    最近关于虚拟机的学习
    AQS源码解析
    ReentrantLock源码阅读记录(二)之ReentrantReadWriteLock
    Semaphore 源码解读
    Httpclient学习多一点儿
  • 原文地址:https://www.cnblogs.com/cupid10/p/15617628.html
Copyright © 2011-2022 走看看