ant design pro react开发记录

react : 传送门
ant design pro:传送门

1、建立新页面demo
import React, {useState} from 'react';
export default class Demo extends React.Component {
  state = {
    loading: false,
 }

 getData() {
    this.setState(state => ({
      loading: true
    }));

    setTimeout(()=>{
      this.setState(state => ({
        loading: false
      }));
    }, 3000)
  }

// 页面加载完事件
  componentDidMount() {
    this.getData();
  }

  render() {
    const btnQueryListData = () => {
      this.getData()
    };
   
    return( 
		 <div style={{padding: '20px', background: '#F0F2F5'}}>
			{this.state.loading}
		 </div>
	)
}
2、数据修改
	// 简单数据修改
	 this.setState(state => ({
      loading: true
    }));
	
	// 修改对象数据
	  const obj= {
		 type: 1,
		 total: 10
	  }
      this.setState(
        Object.assign(this.state.objData, { ...obj}),
        () => {
         // 回调函数,修改完这里操作其他操作
        }
      )
3、表单数据修改
//组件对象
{
	state = {
		code: 0
	}
	// 表单定义ref
	formRef = React.createRef()
		 
    // input 修改数据
    onchangeDeCode = (e)=>{
      this.setState(Object.assign(this.state.formInfo, { code: e.target.value }),() => {})
    }

	// 完成事件
	goPathNcr() {}

	// 页面加载完事件
 	componentDidMount() {
  	  var data = 10
  	  // 表单赋值
   	  this.formRef.current.setFieldsValue({
         code: data,
       })
    }
 render() {

    return (
      <>
	 	<Form
	     	layout='inline'
	        ref={this.formRef}
	        initialValues={{ ...this.state.formInfo }}
	        onFinish={ () => this.goPathNcr() }
	      >
	        <Form.Item name="equipmentName" label="设备编码">
	          <Input onChange={this.onchangeDeCode}  placeholder="请输入"/>
	        </Form.Item>
	        <Form.Item>
	          <Button type="primary" htmlType="submit" loading={this.state.loading}>查询</Button>
	        </Form.Item>
	      </Form>
	    </>
    )
  }  

} 

5、路由跳转及接收参数
// 路由跳转
  goPath() {
    this.props.history.push({
      pathname: "/sub",
      query: {
        form: JSON.stringify(this.state.formInfo),
      }
    });
  }
// 在跳转页面接收参数
const query = this.props.location.query.form

6、 事件方法

需要一下写法,不然会在页面加载完就执行

// 或者、方法一
resetChecked() {
  this.setState({ selectedRowKeys: [] })
}

render() {
	// 或者、方法二
	 const resetChecked= () => {
       this.setState({ selectedRowKeys: [] })
    };
	return (
		<>
			<Button size="small" onClick={() =>this.resetChecked()}>重置</Button>&nbsp;
		</>
	)
}

后续记录中…………

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值