zoukankan      html  css  js  c++  java
  • 【后台管理系统】—— Ant Design Pro 页面相关(三)

    一、卡片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实现切换表单的方式还没弄明白。。。 


    注:转载请注明出处 

  • 相关阅读:
    python 多个变量赋值
    python标准数据类型
    Python 变量类型
    H3C 扩展ACL与基于时间的ACL
    H3C BGP-filter-policy
    H3C 标准ACL
    H3C BGP实验集合
    H3C IS-IS实验大集合(ipv6)
    H3C ISIS实验大集合(IPv4)
    JS 封装一个显示时间的函数
  • 原文地址:https://www.cnblogs.com/ljq66/p/11940280.html
Copyright © 2011-2022 走看看