一、卡片Card分类

  • 与普通卡片使用区别:底部按钮及内容样式

    <Card
    hoverable
    bodyStyle={{ paddingBottom: 20 }}
    actions={[ // 卡片操作组,位置在卡片底部
    <Button size='large' onClick={() => this.showEditModal(item)}>修改</Button>,
    <Popconfirm title="是否要删除此孵化企业?" onConfirm={() => this.deleteItem(item)}>
    <Button type='danger' size='large'>删除</Button>
    </Popconfirm>
    ]}
    >
    <Card.Meta avatar={<Avatar size="small" src={`${setFileHost() + item.comLogo}`} />} title={item.comName} /> //头像、类名、描述等,位置在卡片左侧
    <div className={styles.cardItemContent}>
    <CardInfo
    productCount={item.productCount}
    />
    </div>
    </Card>

  • 动态添加卡片分类:List的dataSource数组第一个位置为空串,遍历时,遇到item渲染卡片,否则ListItem中包裹自定义按钮

    <List
    rowKey="id"
    loading={loading}
    grid={{ gutter: 24, lg: 3, md: 2, sm: 1, xs: 1 }}
    dataSource={['', ...list]} // 构建第一个位置为空串的list数组
    renderItem={item =>
    item ? (
    <List.Item key={item.id}>
    <Card hoverable className={styles.card}
    actions={[ <a onClick={() => this.editCategory(item)}>修改</a>,
    <Popconfirm title="是否要删除此分类?" onConfirm={() => this.deleteCategory(item)}>
    <a style={{color: 'red'}}>删除</a>
    </Popconfirm>
    ]}>
    <Card.Meta
    avatar={<img alt="" className={styles.cardAvatar} src={`${setFileHost() + item.categoryLogo }`} />}
    title={<a style={{ fontWeight: 600 }}>{item.categoryName}</a>}
    description={
    <Ellipsis className={styles.item} lines={3}>
    {`共 ${item.productCount}个商品`}
    </Ellipsis>
    }
    />
    </Card>
    </List.Item>
    ) : (
    <List.Item> // 空串位置 渲染按钮
    <Button type="dashed" className={styles.newButton} onClick={() => this.addCategory()}>
    <Icon type="plus" /> 新增分类
    </Button>
    </List.Item>
    )
    />

  

二、分布表单

  • <Step/>步骤条组件的使用,current指定当前步骤,从 0 开始记数

    export default class StepForm extends PureComponent {
    getCurrentStep() {
    const { location } = this.props;
    const { pathname } = location;
    const pathList = pathname.split('/');
    switch (pathList[pathList.length - 1]) {
    case 'info':
    return 0;
    case 'confirm':
    return 1;
    case 'result':
    return 2;
    default:
    return 0;
    }
    } render() {
    const { location, children } = this.props; return (
    <PageHeaderWrapper
    title="分步表单"
    tabActiveKey={location.pathname}
    content="将一个冗长或用户不熟悉的表单任务分成多个步骤,指导用户完成。"
    >
    <Card bordered={false}>
    <Fragment>
    <Steps current={this.getCurrentStep()} className={styles.steps}>
    <Step title="填写转账信息" />
    <Step title="确认转账信息" />
    <Step title="完成" />
    </Steps>
    {children} // 可直接写为三个状态对应的三个表单子组件
    </Fragment>
    </Card>
    </PageHeaderWrapper>
    );
    }
    }

    有个疑问:框架自带Mock页面Form->StepForm->index.js、step1.js、step2.js、step3.js实现切换表单的方式还没弄明白。。。 


注:转载请注明出处

【后台管理系统】—— Ant Design Pro 页面相关(三)的更多相关文章

  1. 【后台管理系统】—— Ant Design Pro页面相关(二)

    一.弹框Modal表单 使用Form.create()包装得到一个含有this.props.form属性的CreatForm自组件 从页面主(父)组件获得props数据和propsMethod方法 r ...

  2. 【后台管理系统】—— Ant Design Pro页面相关(一)

    一.List列表形式 import React, { PureComponent } from 'react'; import { findDOMNode } from 'react-dom'; im ...

  3. 【后台管理系统】—— Ant Design Pro入门学习&项目实践笔记(三)

    前言:前一篇记录了[后台管理系统]目前进展开发中遇到的一些应用点,这一篇会梳理一些自己学习Ant Design Pro源码的功能点.附:Ant Design Pro 在线预览地址. Dashboard ...

  4. Ant Design Pro (中后台系统)教程

    一.概念:https://pro.ant.design/docs/getting-started-cn(官方网站) 1.Ant Design Pro 是什么:  https://www.cnblogs ...

  5. Ant Design Pro项目打开页设为登录或者其他页面

    Ant Design Pro项目打开页设为登录或者其他页面 一.打开页设为登录页 首先找到utils包中的authority文件,在该文件中找到如下代码: export function getAut ...

  6. 测试平台系列(5) 引入Ant Design Pro

    引入Ant Design Pro 回顾 还是继续回顾下之前的作业, 返回的中文变成了ascii字符,不要紧,我们光荣地百度一哈. 随便点进去看看,都可以找到正确答案: 可以看到,我们需要修改confi ...

  7. 阿里开源项目之Ant Design Pro

    本篇文章主要包含的内容有三个方面. 第一.Ant Design Pro简介; 第二.Ant Design Pro能做什么; 第三.初步使用; 我相信通过这三个方面的讲解能让你大概知道Ant Desig ...

  8. ant design pro (十三)advanced 错误处理

    一.概述 原文地址:https://pro.ant.design/docs/error-cn 二.详细 2.1.页面级报错 2.1.1.应用场景 路由直接引导到报错页面,比如你输入的网址没有匹配到任何 ...

  9. ant design pro(一)安装、目录结构、项目加载启动【原始、以及idea开发】

    一.概述 1.1.脚手架概念 编程领域中的“脚手架(Scaffolding)”指的是能够快速搭建项目“骨架”的一类工具.例如大多数的React项目都有src,public,webpack配置文件等等, ...

随机推荐

  1. Longest Subsequence CodeForces - 632D (lcm)

    大意: 给定序列$a$, 求选出最长的一个子序列, 使得lcm不超过m. 刚开始想复杂了, 想着枚举gcd然后背包, 这样复杂度就是$O(\sum\limits_{i=1}^m \frac{m\sig ...

  2. JavaSE--类与对象

    一.类 类是具有相同特性(数据元素)和行为(功能)的对象的抽象就是类.因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型.类具有属性,它是对象的状态的抽象,用数 ...

  3. 如何解决 u盘 错误0x80071AC3:请运行chkdsk并重试

    windows: 一.win+R 打开 cmd 二.确认好U盘在电脑上显示的盘符,输入代码:chkdsk G:/f (G为U盘所在盘符) Bonus:U盘一般会有文件系统,主要有NTFS.FAT16. ...

  4. 单元测试 - tox 使用

    1. 问题一 $ tox -e pep8 -- testdemo.server pep8 installed: alembic==,amqp==,appdirs==,Babel==,beautiful ...

  5. JS 的 Document对象

    Document 对象是是window对象的一个属性,因此可以将document对象作为一个全局对象来访问. 当浏览器载入 HTML 文档, 它就会成为 Document 对象. Document对象 ...

  6. UIWebView与JS的交互

    IOS-的UIWebView UIWebVew是ios开发中较为常用的一个控件.其可以打开网页,加载html,打开文档等.当我们在开发中需要用到一些显示页面时,UIWebView是一个很好的选择. 创 ...

  7. 2019-11-29-VisualStudio-使用多个环境进行调试

    title author date CreateTime categories VisualStudio 使用多个环境进行调试 lindexi 2019-11-29 08:58:49 +0800 20 ...

  8. SQLite 参数化查询

    SQLite参数化查询 首先给出两个参考博客: Sqlite DB sqlite3使用简介 贴出一段自己用的代码: #include <stdio.h> #include <stdl ...

  9. jumpserver部署1.0版本

    A. jumpserver概述 跳板机概述: 跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作: 跳板机缺点:没有实现对运维人员操作行为的 ...

  10. docker python3环境搭建

    1.使用镜像为daocloud的python镜像 docker run -it --rm --name my-running-script -v "$PWD":/usr/src/m ...