Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >react-开发经验分享-Steps横竖业务进度条的具体使用方法

react-开发经验分享-Steps横竖业务进度条的具体使用方法

作者头像
Mr. 柳上原
发布于 2019-03-04 07:00:37
发布于 2019-03-04 07:00:37
89600
代码可运行
举报
运行总次数:0
代码可运行

Author:Mr.柳上原

  • 付出不亚于任何的努力
  • 愿我们所有的努力,都不会被生活辜负
  • 不忘初心,方得始终

ant框架里,Steps横竖业务进度条的具体使用方法 在ant里介绍了Steps组件,进度条 不过没有具体的对接后端数据的使用方法 特别是Steps组件里最重要的status状态控制方法 分享一下在项目开发中遇到的问题以及解决方法 具体如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 首先根据ant官方Steps组件使用方法引入到react里

// 使用state来存储后端数据并动态更新
this.state = {
    projectData: {}, // 业务数据
    reportFollow: [], // 流程数据
    newReportFollow: [], // 驻场数据
}

// 固定的静态进度条使用方法
crosswiseStep = [
        {
            title: "待确认",
            icon: <Icon type="contacts" />,
            // description: "This is a description.",
            id: 0,
        },
        {
            title: "待看房",
            icon: <Icon type="shop" />,
            // description: "This is a description.",
            id: 1,
        },
        {
            title: "带认购",
            icon: <Icon type="dashboard" />,
            // description: "This is a description.",
            id: 3,
        },
        {
            title: "已成交",
            icon: <Icon type="audit" />,
            // description: "This is a description.",
            id: 4,
        },
    ]

// 初始数据
    initialData = async () => {
        let reportId = this.props.location.state.id || '';

        let res = await ProjectDetailsApi.getReport(reportId);
        let data = res.extension || {}; // 后端请求到的数据
        console.log(res, '表格初始数据');
        if (res.code == '0') {
             let reportFollow = []; // 驻场流程
             let newLording = ''; // 横向进度条状态码

             reportFollow = data.reportFollow;

             // 固定进度条状态判断
             data.reportFollow.map((item, index) => {
                // 0 - 待确认 / 1 - 待看房 / 3 - 待认购 / 4 - 已成交
               if(item.transactionsStatus == 0 || item.transactionsStatus == 1 || item.transactionsStatus == 3 || item.transactionsStatus == 4) {
                    newLording = item.transactionsStatus;
                }

              this.setState({
                  reportFollow,
                  lording: newLording,
             })
        } else {
            message.error('获取列表数据失败');
        }
    }

// render渲染固定的静态进度条
<Steps direction={"horizontal"} labelPlacement={"vertical"} initial={0}>
      {
         this.crosswiseStep.map((item, index) => {
           return (
                <Step 
                    key={item.id}
                    status={
                        item.id <= lording 
                        ? 'process'
                         : 'wait'
                     }
                    title={item.title}
                    icon={item.icon}
                 />
               )
           })
        }
</Steps>

// render渲染动态进度条
<Steps direction={"vertical"} labelPlacement={"vertical"} initial={0}>
    {
        reportFollow.map((item, index) => {
           return (
                 <Step 
                    key={index}
                    status={
                        reportFollow.length -1 == index
                        ? (reportFollow[reportFollow.length - 1].transactionsStatus == 4 ? 'process' : 'wait')
                         : 'process'
                      }
                      title={item.contents}
                      icon={item.icon}
                      description={
                          <div>
                            <p>{item.createUser}</p>
                            <p>{item.createTime}</p>
                          </div>  
                       }
                  />
              )
          })
  }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.02.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
react-开发经验分享-树形结构的解析与运用(一)
Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 ant框架里,tree结构的剖析 1.tree结构,当加载treeChildren(树形下级分支)时,底层代码在上级结构tree(主干)中生成children属性,并把下级分支push到children属性里 // 实例 主干:[{id: '001'}] // 当生成下级分支时 主干:[{id: '001', children: [{id: '0001'}]}] 分支:[{id: '0001'}
Mr. 柳上原
2018/12/28
1.5K0
react-开发经验分享-树形结构的解析与运用(二)
Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 ant框架里,tree结构的剖析 承接上文 问题:ant的异步树形结构,当渲染下级结构完成后,再次在主干新建一个新的下级结构时,不会实时渲染出新增加的那条下级结构,必须刷新整个页面,重新后端请求数据,并进行渲染,这是一个不好的体验 3.根据ant的tree结构,自定义实时渲染tree结构页面 思路:使用递归模式 // 实时显示下级页面的变化实例 // 封装函数:新增下级结构 /* tree
Mr. 柳上原
2018/12/28
1K0
react-开发经验分享-form表单组件中封装一个单独的input
在form表单中自定义封装一个input组件 如果不做处理 form表单提交时是获取不到这个自定义组件的数据的 这个坑对于新手来说 真的是个大坑 特别是对表单内的元素做提交不是很了解的人 用ant的ui框架来说明吧 一个基础的表单 // ant表单组件 import { Form, Select, Input, Button } from 'antd'; const FormItem = Form.Item; const Option = Select.Option; class App ext
Mr. 柳上原
2018/12/12
3K0
Vue 开发经验小记(持续更新)
<component> 是vue官方提供的标签,通过更改 is 指向的子组件名来动态切换组件。
solocoder
2022/04/06
2.9K0
Vue 开发经验小记(持续更新)
react-开发经验分享-Upload上传功能的具体项目实现
这是因为Promise是没有abort 方法的,只有原生js的XMLHttpRequest对象才具有abort
Mr. 柳上原
2019/05/17
1.9K0
详解微信小程序如何实现流程进度功能
最近正在做微信小程序,需要实现一个流程进度的图样式如下面
疯狂的小程序
2018/01/22
1.7K0
react-开发经验分享-Table表格组件里自定义表格td内容换行
Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 ant框架里,Table表格组件里自定义表格td内容换行的方法 在Table表格里,无法像普通原生html一样直接在标签内使用‘br’或换行符使表格内容换行 必须在表格组件的columns方法里对需要换行的地方使用render自定义换行, 使用方法如下: columns = [ { title: '驻场', // 子单元格 child
Mr. 柳上原
2019/02/25
2.4K0
android开发_SeekBar进度条
项目结构: 1 New Android Project-> 2 Project name:SeekBar 3 Build Target:Android 2.2 4 Application name:
Hongten
2018/09/13
1.1K0
android开发_SeekBar进度条
关于安卓开发实现进度条对话框
进度条对话框(ProgressDialog)分为圆形和横向两种类型。 方法: onCreatDialog(int id);创建一个对话框,只有在第一次创建该ID标识的Dialog时执行 onCreatDialog(int id,Bundle args);同上,带参数 onPrepareDialog(int id,Dialog dialog);在onCreateDialog之后,每次在对话框被显示之前都执行 onPrepareDialog(int id,Dialog dialog,Bundle args);同
听着music睡
2018/05/18
1.6K0
get几个小技能:轮播图插件、进度条插件、筛选过滤插件
最近参加了一个网页设计大赛,趁这个机会做了一个个人简历的网页:点击欣赏 用到了许多有趣的东西们今天分享一下。
不愿意做鱼的小鲸鱼
2022/09/24
1.8K0
get几个小技能:轮播图插件、进度条插件、筛选过滤插件
【愚公系列】2022年08月 微信小程序-progress进度条详解
在页面data中定义对应的数据,config参数的使用方法和之前api调用的时候完全相同,canvasSize默认是{ width: 400, height: 400 },这种方式不同的是不需要传参数target: this,同时新增percentage(进度条的百分比):
愚公搬代码
2022/12/01
2K0
【愚公系列】2022年08月 微信小程序-progress进度条详解
鸿蒙开发实战案例:视频横竖屏切换及进度条热区拖动
本示例介绍了@ohos.multimedia.media组件和@ohos.window接口以及使用触摸热区实现视频横竖屏切换及进度条热区拖动的功能。该场景多用于横竖屏视频等媒体播放。
小帅聊鸿蒙
2025/02/24
1790
鸿蒙开发实战案例:视频横竖屏切换及进度条热区拖动
Vue 手风琴组件三种实现方式的使用方法与封装技巧详解
根据你的具体需求,可以选择最适合的实现方式进行组件封装。需要进一步的代码优化或有特定场景需求,可以告诉我具体情况。
用户2102001
2025/06/04
380
Vue 手风琴组件三种实现方式的使用方法与封装技巧详解
GridView属性和使用方法
前面一共用了8期来学习ListView列表的相关操作,其实学习的ListView的知识完全适用于AdapterView的其他子类,如GridView、Spinner、AutoCompleteTextView等组件,那么接下来分别来学习一下这些列表组件,本期先学习GridView的使用。 一、认识GridView 前面学的ListView是列表, 这里的GridView就是显示网格,用于在界面上按行、列分布的方式来显示多个组件。 GridView 和 ListView 有共同的父类:A
分享达人秀
2018/02/02
3.1K0
GridView属性和使用方法
Typescript 入门写一个 react 进度条组件
TypeScript 入门,写一个 react 进度条组件 写在最前面 如果你写过 react 的组件, 这篇文章对与你来说基本没有什么难度。纯粹的是加上了一点 ts 的知识。 我完全是以学习者的姿态
西南_张家辉
2021/02/02
2K0
带进度条的webview
     如果不使用系统自带的TitleBar(即Activity被设置@android:style/Theme.NoTitleBar),那就需要自己来写进度条了,这里封装了一个自定义控件和加载网页的公共Activity,方便使用。 正文 一、截图 二、自定义控件 复制代码 /**  * 带进度条的WebView  * @author 农民伯伯  * @see http://www.cnblogs.com/over140/archive/2013/03/07/2947721.html  *
xiangzhihong
2018/01/29
7290
相关推荐
react-开发经验分享-树形结构的解析与运用(一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验