web3 dapp React项目引入 antd 对 balance 用户token信息组件进行样式改造

好 上文 web3 React dapp中编写balance组件从redux取出并展示用户资产
我们简单处理了用户资产的展示
那么 我们继续
先启动 ganache 环境
终端输入

ganache -d

在这里插入图片描述
然后 打开我们的项目 将合约发布到区块链上

truffle migrate --reset

在这里插入图片描述
然后 我们启动项目 确认一切正常 还原到上文结束时的样子即可
在这里插入图片描述
然后 我们前端项目开发 现在不用个UI框架 都会被别人看不起的
这里 react 我们当然还是选择大家比较熟悉的antd组件库
在这里插入图片描述
然后 我们终端输入

npm i antd --save

引入一下依赖
在这里插入图片描述
然后 我们来测试一下 看看有没有进来
这里 我们搞个按钮的代码来试一下
在这里插入图片描述
这里 我们直接随便找个组件 导入一个 button按钮 看看样式是否能进来就好了
在这里插入图片描述
运行代码
这里 我们的代码就成功进来了 说明 antd是导入成功的
在这里插入图片描述
然后 antd中 有一个统计数值的组件 还是做的比较好看的
我们可以直接整个先拿过来用
在这里插入图片描述
将 用户资产组件 代码直接更改如下

import React from 'react';
import { useSelector } from "react-redux";
import { ArrowDownOutlined, ArrowUpOutlined } from '@ant-design/icons';
import { Card, Col, Row, Statistic } from 'antd';function convert(unit) {return window.WebData ? window.WebData.web3.utils.fromWei(unit, "ether") : ""
}export default function Balance() {const {TokenWallet,TokenExchange,EtherWallet,EtherExchange} = useSelector((state) => state.balance)return (<div><Row gutter={16}><Col span={12}><Card bordered={false}><Statistictitle="Active"value={11.28}precision={2}valueStyle={{ color: '#3f8600' }}prefix={<ArrowUpOutlined />}suffix="%"/></Card></Col><Col span={12}><Card bordered={false}><Statistictitle="Idle"value={9.3}precision={2}valueStyle={{ color: '#cf1322' }}prefix={<ArrowDownOutlined />}suffix="%"/></Card></Col></Row><h3>个人grToken: {convert(TokenWallet)}</h3><h3>个人交易所grToken: {convert(TokenExchange)}</h3><h3>个人ETH: {convert(EtherWallet)}</h3><h3>个人交易所ETH: {convert(EtherExchange)}</h3></div>);
}

这里 我直接将他这个统计组件的代码都考了过来运行之后
在这里插入图片描述可以看到 上面统计数值的组件 看着和官方文档也差不多 那么 我们再来小改造一下

案例上 Row直接上会有一个gutter属性 是用来控制边距的 我们不要他
在这里插入图片描述
但这里 大家可能会发现 左侧这边 有点贴到边角了
在这里插入图片描述
这里的话 我们直接找到 src下的 view 下的 index.jsx 文件 在根组件位置 直接加一个 内边距
在这里插入图片描述
这样 我们上下左右 就都会有一定的距离了 就不存在这个贴到边上的问题了
在这里插入图片描述
然后呢 我们再次回到资产组件 这里 我们希望一行展示 四个 我们就将Col组件的 span 通通改成 6
在这里插入图片描述
这样我们再运行起来 他就是一行展示两个
在这里插入图片描述
然后 这个Card 也是 antd提供给我们的一个组件
在这里插入图片描述
这里 我们在文档中找到这个 Card
文档上上 它叫 卡片组件 然后上面有一个hoverable属性 用来控制 当鼠标经过它时可以浮起
在这里插入图片描述
然后 我们设置一下 将 Card 组件的hoverable都设为 true 开启这个鼠标经过浮起的效果
在这里插入图片描述
这样 我们鼠标经过就成立这样一个效果
在这里插入图片描述
然后 我们直接将 src下 components 下的 balance.jsx 代码编写如下

import React from 'react';
import { useSelector } from "react-redux";
import { Card, Col, Row, Statistic } from 'antd';function convert(unit) {return window.WebData ? window.WebData.web3.utils.fromWei(unit, "ether") : ""
}export default function Balance() {const {TokenWallet,TokenExchange,EtherWallet,EtherExchange} = useSelector((state) => state.balance)return (<div><Row><Col span={6}><Cardbordered={false}hoverable = {true}><Statistictitle="个人grToken"value={convert(TokenWallet)}precision={3}valueStyle={{ color: '#3f8600' }}/></Card></Col><Col span={6}><Cardbordered={false}hoverable = {true}><Statistictitle="个人交易所grToken"value={convert(TokenExchange)}precision={3}valueStyle={{ color: '#0000FF' }}/></Card></Col><Col span={6}><Cardbordered={false}hoverable = {true}><Statistictitle="个人ETH"value={convert(EtherWallet)}precision={3}valueStyle={{ color: '#FF8C00' }}/></Card></Col><Col span={6}><Cardbordered={false}hoverable = {true}><Statistictitle="个人交易所ETH"value={convert(EtherExchange)}precision={3}valueStyle={{ color: '#FF00FF' }}/></Card></Col></Row></div>);
}

这里 我们设置了Statistic 组件 title 就是 要统计的文本 然后 value 数值 precision 设置 后面保留几位小数 这里 我们选择3 然后 颜色 通过valueStyle中的color设置

最终运行结果如下
在这里插入图片描述
那么 下一文 我们开始处理 订单组件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/163977.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MCU常见通信总线串讲(一)—— UART和USART

&#x1f64c;秋名山码民的主页 &#x1f602;oi退役选手&#xff0c;Java、大数据、单片机、IoT均有所涉猎&#xff0c;热爱技术&#xff0c;技术无罪 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 获取源码&#xff0c;添加WX 目录 前言一…

网络编程套接字(2)——简单的TCP网络程序

文章目录 一.简单的TCP网络程序1.服务端创建套接字2.服务端绑定3.服务端监听4.服务端获取连接5.服务端处理请求6.客户端创建套接字7.客户端连接服务器8.客户端发起请求9.服务器测试10.单执行流服务器的弊端 二.多进程版的TCP网络程序1.捕捉SIGCHLD信号2.让孙子进程提供服务 三.…

el-table中的el-input标签修改值,但界面未更新,解决方法

el-table中的el-input标签修改值&#xff0c;界面未更新 在el-table中的el-input里面写的change事件根本不触发&#xff0c;都不打印&#xff0c;试了网络上各种方法都没用 然后换成input事件&#xff0c;input事件会触发&#xff0c;但界面也未更新。我在触发事件的时候&…

构建强大的Web应用之Django详解

引言&#xff1a; Django是一个功能强大且灵活的Python Web框架&#xff0c;它提供了一套完整的工具和功能&#xff0c;帮助开发者快速构建高效的Web应用。本篇文章将带您逐步了解Django的基本概念和使用方法&#xff0c;并通过实际的代码案例&#xff0c;帮助您从零开始构建自…

vue + axios + mock

参考来源&#xff1a;Vue mock.js模拟数据实现首页导航与左侧菜单功能_vue.js_AB教程网 记录步骤&#xff1a;在参考资料来源添加axios步骤 1、安装mock依赖 npm install mock -D //只在开发环境使用 下载完成后&#xff0c;项目文件package.json中的devDependencies就会加…

基于java+springboot+vue的幼儿园信息网站

项目介绍 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于幼儿园管理系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了幼儿园管理系统&#xff0c;它彻底改变了过…

【排序算法】 快速排序(快排)!图解+实现详解!

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; 算法—排序篇 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言&#x1f324;️快速排序的概念☁️快速排序的由来☁️快速排序的思想☁️快速排序的实…

高校为什么需要大数据挖掘平台?

目前数据挖掘已经成为各种应用领域的重要技术&#xff0c;大学数据挖掘课程的开放已经出现。数据挖掘课程整合了多门学科知识。该课程包括各种理论知识&#xff0c;也离不开相关的实用技术。整个教学过程是培养和提高学生全面创新和解决问题的能力。过去&#xff0c;教学过程理…

ZYNQ_project:led

本次实验完成&#xff1a;led流水间隔0.5s 闪烁间隔0.25s。 名词解释&#xff1a; analysis分析&#xff1a;对源文件进行全面的语法检查。 synthesis综合&#xff1a;综合的过程是由 FPGA 综合工具箱 HDL 原理图或其他形式源文件进行分析&#xff0c;进而推演出由 FPGA 芯…

【C语言】数据结构——无头单链表实例探究

&#x1f497;个人主页&#x1f497; ⭐个人专栏——数据结构学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 目录 导读&#xff1a;1. 单链表1.1 什么是单链表1.2 优缺点 2. 实现单链表基本功能2.1 定义结构体2.2 单链表打印2.3 销毁单链…

大数据之LibrA数据库系统告警处理(ALM-12030 无合法license存在)

告警解释 系统在安装集群后和每天零点检查当前系统中是否存在合法的license文件&#xff0c;如果没有则产生该告警。 导入合法license文件时&#xff0c;告警恢复。 说明&#xff1a; 如果当前集群使用节点数小于等于10节点&#xff08;不包含管理节点&#xff09;&#xf…

一图搞懂傅里叶变换(FT)、DTFT、DFS和DFT之间的关系

自然界中的信号都是模拟信号&#xff0c;计算机无法处理&#xff0c;因此我们会基于奈奎斯特定理对模拟信号采样得到数字信号。 但是我们发现&#xff0c;即便是经过采样&#xff0c;在时域上得到了数字信号&#xff0c;而在频域上还是连续信号。 因此我们可以在时域中选取N点…