• ant design框架学习


    1、Input 上传文件:

    ①限制上传文件的格式:

    accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet "
    如果是多种格式,中间用","隔开
    ②上传文件:
    <input type='file' id='file' name='myfile' accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet "/>
     <div className="btn-addall">
          <input type='button'className="saveAll" onClick={this.uploadFile.bind(this)} value='上传' />
          <input type='button'className="cancelAll" onClick={this.closeModal.bind(this)} value='取消' />
    </div>
        uploadFile() {
            const token = sessionStorage.getItem('token');
            const dbId = this.props.id;
            var fileObj = document.getElementById('file').files[0]; // 获取文件对象
            var FileController = 'http://192.168.1.188:5000/api/user/commoditiesUpload'; // 接收上传文件的后台地址
            // FormData 对象
            var form = new FormData();
            form.append('file', fileObj); // 文件对象
            // XMLHttpRequest 对象
            var xhr = new XMLHttpRequest();
            xhr.open('post', FileController, true);
            xhr.setRequestHeader("token",token);
            xhr.setRequestHeader("dbId",dbId);
            xhr.onload = function () {
                
            };
            xhr.send(form);
            this.props.closeModal(false);
            hashHistory.push('warehouse');
        }
    2、上传图片
    <Upload
            {...props}                        
             onPreview={this.handlePreview.bind(this)}
             onChange={this.handleChange.bind(this)}
             onRemove={this.handleRemoveImage}
      >
         {fileList.length >= 5 ? null : uploadButton}
     </Upload>
    const {
                previewVisible,
                previewImage,
                fileList
            } = this.state;
            const uploadButton = (
                <div>
             添加图片
         </div>
            );
            const token = sessionStorage.getItem('token');
            const dbId = this.props.dbId;
            const props = {
                showUploadList:true,
                action:'http://192.168.31.134:5000/api/uploadImg',
                headers:{
                    "token":token
                },
                defaultFileList: [...fileList],
                listType: "picture-card",
            };
    handleCancel() {
            this.setState({
                previewVisible: false
            })
        }
        handlePreview(file) {
            this.setState({
                previewImage: file.url || file.thumbUrl,
                previewVisible: true,
            });
        }

        handleChange({
            fileList
        }) {
            this.setState({
                fileList
            });
        }
        handleRemoveImage(file){
            console.log('删除图片的id',file.response.data);
        }
    3、模块化固然好,但是不要嵌套嵌太深了
    4、循环输出输入框:
       const list = this.props.dataList.length ?
                this.props.dataList.map((listItem, index) => (
                    <Col span={7} key={index} >
                        <Row type="flex" justify="start" className="robot-col">
                            <Col span={5} className="property">{listItem}:</Col>
                            <Col span={14} className="property">
                                <Input id={'properties' + index}/>
                            </Col>
                        </Row>
                    </Col>
                )) : '您当前只有默认属性,没有其他属性,赶紧去添加吧~';
    5、直接点击跳转页面:
    <a className="property-a" href="#warehouse/addProducts">添加商品</a>
    <Link to="#warehouse/addProduct"  activeClassName="active">Bob With Query Params</Link>
    6、点击按钮之后跳转:
    import { hashHistory } from 'react-router';
    hashHistory.push('warehouse/displayProducts:' + id);
    7、table的一些操作:
    (1)全选操作
    table 里面加入 rowSelection={rowSelection},
    在render里面
    const rowSelection = {
                selectedRowKeys,
                onChange: this.onSelectChange.bind(this),
                onSelection: this.onSelection,
            };
     
    (2)点击一行数据,在table里面加入
    onRowClick={this.onRowClick.bind(this)}
    //选择哪一句
        onSelectChange(selectedRowKeys) {
            console.log('selectedRowKeys changed: ', selectedRowKeys);
            this.setState({
                selectedRowKeys
            });
        };
    (3)加载
    loading={true}
  • 相关阅读:
    回车符和换行符
    UDP ECHO server
    启动LINUX下的TFTP服务器
    WPF版的Dock控件第二版完成
    最近写的一个WPF版的Dock控件
    搜狗开始耍流氓了
    对WebBrowser控件设置代理
    删除Jumplist中的历史记录
    C#中Undo/Redo的一个简易实现
    如何向枚举中添加新值
  • 原文地址:https://www.cnblogs.com/ryt103114/p/6728720.html
Copyright © 2020-2023  润新知