React增删改查加分页

import React,{useState }from 'react'

import { Table, Space,Button,Modal,Input, Form, Row, Col, Select, DatePicker }from 'antd';

import { SearchOutlined }from '@ant-design/icons';

import { HighlightTwoTone }from '@ant-design/icons';

import momentfrom 'moment';

import {inject,observer}from 'mobx-react'

import axiosfrom '../../util/axios'

import apifrom '../../api/index'

import localefrom 'antd/lib/date-picker/locale/zh_CN';

import 'moment/locale/zh-cn'

import OPinionfrom "../../api/opinion";

import { Pagination }from 'antd'; // 引入组件

moment.locale('zh-cn')

const {TextArea } = Input;

const { confirm } = Modal;

const {Option } = Select;

const { RangePicker } = DatePicker;

const dateFormat ='YYYY-MM-DD';

@inject('Op','Opchaxun')

@observer

class TaskListextends React.Component {

constructor(prors){

super(prors)

this.state={

SelectName:'',// 搜索名

            current:1, // 当前页

            pagesize:5 ,//每页条

            dataq:[], // 列表数组

            user_phone:'',

            user_nickname:'',

            Count:0

        }

}

//分页

    onChangePage = page => {

console.log(page)// 切换的数值

//使用异步操作 因为改变数值和发起请求同步执行 结果出错

        new Promise((resolve, reject) => {

this.setState({

current: page, // 改变值

            });

            resolve()

}).then(() => {

axios.post('/opinion/queryOpinion.do',{

'page':this.state.current,

                'pageSize':this.state.pagesize

            }).then((res)=>{

console.log(res.data)

if (res.data.code){

this.setState({

data:res.data.data,

                        Count:res.count

                    })

}else {

this.error('加载出错')

}

}).catch((err)=>{

console.log(err)

})

})

};

    // 删除弹框

    showDeleteConfirm() {

confirm({

title:'是否确认删除?',

            okText:'确认',

            okType:'danger',

            cancelText:'取消',

            // 点击确认触发

            onOk() {

console.log('点击确认触发');

            },

            // 点击取消触发

            onCancel() {

console.log(' 点击取消触发');

            },

        });

    }

// 编辑弹框

    showUpdateConfirm(data) {

confirm({

icon:<HighlightTwoTone />,

            title:'查看详情',

            content:(

                    style={{marginLeft:'-12px'}}

labelCol={{span:6 }}

wrapperCol={{span:14 }}

layout="horizontal"

                    onFinish={this.onFinish}

initialValues={{

user_nickname: data.user_nickname,

                        opinion_time:data.opinion_time,

                        opinion_msg:data.opinion_msg,

                    }}

>

                    <Form.Item name='user_nickname' label="投诉人">

                        <Input  placeholder="large size"  />

                    <Form.Item name='opinion_msg' label="意见">

                            autoSize={{minRows:3, maxRows:5 }}

style={{height:'100px'}}

placeholder="large size" />

                    <Form.Item name='opinion_time' label="提交时间">

                        <Input    placeholder="large size"/>

                    <Button type="primary" htmlType="submit" className="login-form-button">

                        Log in

            ),

            okText:'提交',

            cancelText:'取消',

            // 点击确认触发

            onOk() {

console.log('编辑成功');

            },

            // 点击取消触发

            onCancel() {

console.log('Cancel');

            },

        });

    }

// 获取表单数据

    onFinish = values => {

console.log('Received values of form: ', values);

    }

// 编辑

    update(text,record,index){

this.showUpdateConfirm(record)

console.log(text,record,index)

}

// 删除

    del(text,record,index){

this.showDeleteConfirm()

console.log(text,record,index)

}

// 搜索手机号

    selectNanme = (e) => {

this.setState({

SelectName: e.target.value

        })

}

SelectBut() {

console.log(this.state.SelectName)

console.log("搜索手机号的结果")

this.props.Opchaxun.caxunList(this.state.SelectName).then((data) => {

this.setState({

dataq:data.data.data, // 改变显示表格的值

                Count:data.data.count // 改变页码总条数

            })

console.log(this.state.dataq)

})

}

//搜索昵称

    selectNanme2 = (e) => {

this.setState({

SelectName: e.target.value

        })

}

SelectBut2() {

console.log(this.state.SelectName)

console.log("搜索昵称的结果")

console.log(this.props.Opchaxun)

this.props.Opchaxun.caxunList(this.state.SelectName).then((data) => {

this.setState({

dataq:data.data.data, // 改变显示表格的值

                Count:data.data.count // 改变页码总条数

            })

})

}

//请求后台

    componentDidMount(){

axios.post('/opinion/queryOpinion.do',{

'page':this.state.current,

            'pageSize':this.state.pagesize

        }).then((res)=>{

console.log(res.data)

if (res.data.code){

this.setState({

dataq:res.data.data

                })

}else {

this.error('加载出错')

}

}).catch((err)=>{

console.log(err)

})

}

render() {

const columns = [

{

title:'用户ID',

                dataIndex:'opinion_no',

                width:150,

            },

            {

title:'用户手机号',

                dataIndex:'user_phone',

                width:150,

            },

            {

title:'用户昵称',

                dataIndex:'user_nickname',

            },

            {

title:'提交时间',

                dataIndex:'opinion_time',

                render: (value) => {

const obj = {

children: JSON.stringify(value).substring(1,11)

};

                    return obj;

                },

            },

            {

title:'意见和建议',

                dataIndex:'opinion_msg',

            },

            {

title:'操作',

                dataIndex:'address',

                render: (text, record,index) => (

<Space size="middle">

                        <Button size='small' onClick={()=>this.update(text,record,index)}>查看

                        <Button type="primary" danger size='small' onClick={()=>this.del(text,record,index)}> 删除

                )

}

];

        return (

//搜索


                    <Col span={24}>

                        <Input  name='username'

                                placeholder=" 请输入用户手机号查询"

                                style={{width:'300px', float:'left' }}

onChange={this.selectNanme}/>

                            name='username2'

                            placeholder="请输入用户昵称查询"

                            style={{width:'300px', float:'left' }}

onChange={this.selectNanme2}/>

                        <Button shape="circle"

                                icon={<SearchOutlined />}

size='small'

                                style={{float:'left', marginLeft:'10px', marginTop:'5px' }}

onClick={this.SelectBut.bind(this)}/>

                            shape="circle"

                            icon={<SearchOutlined />}

size='small'

                            style={{float:'left', marginLeft:'10px', marginTop:'5px' }}

onClick={this.SelectBut2.bind(this)}/>

                    <Col span={24}>

                        <Table pagination={false}columns={columns}dataSource={this.state.dataq}scroll={{y:240 }}/>,

                    current={this.state.current}// 总条数 绑定state中的值

                    onChange={this.onChangePage}// 改变页面是发生的函数

                    total={(Math.ceil(this.state.Count /this.state.pageSize)) *10}

// 页码数量 = 向上取整(总条数/每页条数)X10

                    showSizeChanger={false}// 总条数超过多少条显示也换条数

                    style={{marginTop:'20px' }}

/>

        )

}

}

export {TaskList asdefault}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351