React框架实现批量删除

import React, {Component} from 'react';
import commonConfig from "../../static/js/commonConfig";
import Checkbox from "antd/es/checkbox/Checkbox";
import {message} from "antd";

// import {message} from "antd";

class TestText extends Component {
    state = {
        messageList: [],
    }

    componentDidMount() {
        this.getAllMessageList()
    }

    getAllMessageList = () => {
        commonConfig.ajaxNoFileMethods('/info/getInfoPageList', {}, res => {
            console.log('res', res.list);
           
            for (let i = 0; i < res.list.length; i++) {
               res.list[i]['checked'] = false
            }
           this.setState({messageList: res.list});

        }, null, null, null, false)
    }
    //单选
    selectedUser = (index) => {
        let tmpUsers = this.state.messageList
       //, isChecked = true;
        tmpUsers[index].checked = !tmpUsers[index].checked;
        //for (let i = 0; i < tmpUsers.length; i++) {
        //    if (!tmpUsers[i].checked) {
        //        isChecked = false;
        //        break;
        //    }
        //}
       
        this.setState({messageList: tmpUsers})
    }

    delAllUsers() {
        const {messageList} = this.state
        let arr = [];
        messageList.filter(item => {
            if (item.checked === true) {
                arr.push(item.id)
            }
        })
        const id = arr.join(',');
        if (arr.length > 0) {
            commonConfig.ajaxNoFileMethods('/info/deleteInfo', {id}, res => {
                if (res.code === '200') {
                    message.success(res.message);
                    this.getAllMessageList();
                } else {
                    message.warning(res.message)
                }
            }, null, null, null, false)
        } else {
            message.info('请选择删除的信息')
        }
    }

    render() {
        const {messageList} = this.state;
        return (
            <div>

                <ul style={{display: 'flex', flexDirection: 'column', padding: '30px', boxSizing: 'border-box'}}>
                    {messageList.map((item, index) => (
                        <li key={index} style={{display: 'flex', marginBottom: '10px'}}>
                            <Checkbox checked={item.checked} onChange={this.selectedUser.bind(this, index)}/>
                            <p style={{paddingLeft: '10px'}}>{item.title}</p>
                        </li>
                    ))}
                </ul>

                <button type="button" onClick={this.delAllUsers.bind(this)}>批量删除</button>
            </div>
        );
    }
}

export default TestText;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值