【Ant Design Pro 四】react 点击事件传参

404 篇文章 25 订阅
48 篇文章 5 订阅
本文介绍了在Ant Design Pro中使用React进行点击事件参数传递的方法,通过一个示例代码详细解析了如何在`editCard`事件中正确且无bug地传递参数。
摘要由CSDN通过智能技术生成

简单的绑定点击事件传参:

点击事件


        function myClick(){
            console.log('点击')
        }
        return (<Button onClick={myClick}>点击</Button>)

 

点击事件传参

  sendGoods(e){
    console.log('sendGoods',e)
  }
  render() {
    retrun(
      <Button  type="primary" onClick={(event) =>this.sendGoods('a')}>发货</Button>
    )
  }

 

 

下面看一个示例demo的完整代码:

代码解析:   可以选择性的看 editCard  事件的传参,尝试过几种传参的方式,会有莫名其妙的bug,这种方式可行。

import { Card, Icon, Button } from 'antd';
import React, { Component } from 'react';
import { connect } from 'dva';
import router from 'umi/router';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import styles from './tab_1.less';

const { Meta } = Card;
@connect(({ loadding, d_models }) => ({
  d_models
}))
class a extends Component {
  dispatch = this.props.dispatch;
  state = {
    page: 'tab_1'
  };
  // 页面初次渲染
  componentDidMount() {
    this.messageSettingList();
  };
  //点击事件,传参
  editCard = (e) => {
    console.log('eeeeeeee1e', e)
    // console.log('eeeeeeee2222e',e.target.id)
  };
  messageSettingList(page_no = '', page_size = '') {
    this.dispatch({
      type: 'd_models/messageSettingList',
      payload: {
        materialType: 1,
        page_no,
        page_size,
      },
      callback: (res) => {
        if (res.code == 1) {
          this.setState({
            list: res.list
          })
        }
      }
    })
  };

  render() {
    // 列表组件
    var CardList = (props) => {
      const list = props.list;
      const listItems = list.map((item, idx) =>
        <Card
          key={idx}
          className={styles.top_20}
          style={{ width: 200, display: 'inline-block', margin: 30 }}
          cover={
            <img
              alt="example"
              src={item.materialImageUrl}
            />
          }
          actions={[
            <Icon type="delete" key="delete" />,
            <Icon type="edit" onClick={() => {
              return this.editCard(item);
            }} key="edit" />,
          ]}
        >
          <Meta
            title={item.materialContent}
            description={item.materialTitle}
          />
        </Card>
      );
      return (
        <span>{listItems}</span>
      );
    }
    return (
      <PageHeaderWrapper>
        <div className={styles.body}>
          <Button type="primary" onClick={() => {
            router.push('/d_msgstting/addCard');
          }}>
            点击按钮跳转页面
            </Button>
          <div className={styles.p_r}>
            {this.state.list ? (<CardList list={this.state.list} />) : null}
          </div>
        </div></PageHeaderWrapper>
    );
  }
}

export default a;

 

Ant Design Pro React 提供了 Upload 组件来实现上传功能。以下是实现上传的步骤: 1. 导入 Upload 组件和其他必要的组件: ``` import { Upload, message } from 'antd'; import { InboxOutlined } from '@ant-design/icons'; ``` 2. 定义上传组件的属性和状态: ``` const { Dragger } = Upload; const props = { name: 'file', multiple: true, action: 'https://www.mocky.io/v2/5cc8019d300000980a055e76', onChange(info) { const { status } = info.file; if (status !== 'uploading') { console.log(info.file, info.fileList); } if (status === 'done') { message.success(`${info.file.name} file uploaded successfully.`); } else if (status === 'error') { message.error(`${info.file.name} file upload failed.`); } }, }; class UploadComponent extends React.Component { state = { fileList: [], }; handleChange = ({ fileList }) => this.setState({ fileList }); render() { const { fileList } = this.state; return ( <Dragger {...props} fileList={fileList} onChange={this.handleChange}> <p className="ant-upload-drag-icon"> <InboxOutlined /> </p> <p className="ant-upload-text">Click or drag file to this area to upload</p> <p className="ant-upload-hint"> Support for a single or bulk upload. Strictly prohibit from uploading company data or other band files </p> </Dragger> ); } } ``` 3. 在 render() 方法中渲染上传组件: ``` render() { return ( <div> <UploadComponent /> </div> ); } ``` 这样就可以实现一个基本的上传组件。此外,Ant Design Pro React 还提供了其他的上传组件和功能,可根据具体的需求进行选择和使用。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a_靖

对你有帮助吗?打赏鼓励一下?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值