数据可视化大屏展示合集:HTML与ECharts应用
数据可视化大屏是利用现代显示技术,将大量数据通过直观、形象的图形界面展现出来的一种解决方案。这种大屏可以提供给企业决策者实时的业务数据和分析结果,帮助他们迅速把握运营状态和市场动态。ECharts(Enterprise Charts)是由百度团队开发的一个开源的数据可视化库,它提供了丰富的图表类型和灵活的配置项,可以轻松地在网页上展示数据。在开始使用ECharts之前,首先需要将库文件引入到项目中
简介:数据可视化大屏展示是将关键业务指标通过大型屏幕直观呈现的技术,主要用于企业决策支持。HTML是构建大屏展示的基础,结合CSS和JavaScript技术,可以创建具有动态效果和交互性的界面。ECharts库提供了丰富的图表和交互功能,非常适合制作数据大屏。本合集提供了一系列数据可视化大屏的设计和实现资源,包括页面设计、ECharts示例代码等,覆盖了从布局到数据展示的各个方面。 
1. 数据可视化大屏的概念与应用
1.1 数据可视化大屏定义
数据可视化大屏是利用现代显示技术,将大量数据通过直观、形象的图形界面展现出来的一种解决方案。这种大屏可以提供给企业决策者实时的业务数据和分析结果,帮助他们迅速把握运营状态和市场动态。
1.2 数据可视化大屏的功能
大屏的功能包括实时监控关键指标,展示业务趋势,分析数据差异,并为决策提供依据。它支持多种数据源和多形式数据展示,适用于多种行业和场景,如金融、交通、安全监控等。
1.3 数据可视化大屏的应用领域
数据可视化大屏广泛应用于企业、政府部门及各类组织机构中,用于展示运营数据、业务绩效、市场分析等关键信息。它可以帮助决策者快速做出数据驱动的决策,提升管理效率和响应速度。
graph LR;
A[数据可视化大屏概念] -->|功能| B[实时监控关键指标]
A -->|功能| C[展示业务趋势]
A -->|功能| D[分析数据差异]
A -->|应用领域| E[企业决策]
A -->|应用领域| F[政府部门]
A -->|应用领域| G[组织机构]
通过以上章节,我们对数据可视化大屏的定义、功能和应用领域有了基本的认识。在接下来的章节中,我们将进一步探讨技术实现的细节,包括HTML、CSS、JavaScript和ECharts等工具的具体应用。
2. HTML在大屏展示中的作用
2.1 HTML基础知识回顾
2.1.1 HTML标签的种类及使用
HTML(HyperText Markup Language)是构成网页文档的基础,通过各种标签将信息组织成网页的结构。标签通常成对出现,包括开启标签和闭合标签,例如 <p>这里是段落</p> 。有些标签是自闭合的,比如 <img src="image.jpg" alt="description"> 。
一些常用的HTML标签包括:
- <html> :定义整个网页的范围。
- <head> :包含文档的元数据,如标题、链接到样式表和脚本等。
- <body> :定义网页主体内容。
- <div> :用来定义文档中的分区或节,常用于布局控制。
- <span> :用来组合文档中的行内元素。
- <a> :定义超链接,用于链接到其他页面或文档。
- <img> :用来插入图片。
- <table> :创建表格。
- <form> :定义输入表单,用于收集用户输入。
标签的具体使用取决于需要创建的网页内容。例如,一个包含标题、段落和图片的简单HTML页面可以写成如下形式:
<!DOCTYPE html>
<html>
<head>
<title>我的第一个HTML页面</title>
</head>
<body>
<h1>欢迎来到我的网站</h1>
<p>这是一个段落。</p>
<img src="example.jpg" alt="示例图片">
</body>
</html>
2.1.2 HTML5新特性解析
HTML5带来了诸多改进和新特性,增强了文档的语义化、提高了交互性、加强了图形和多媒体的处理能力。以下是一些HTML5的关键特性:
- 新语义元素 :
<nav>、<footer>、<article>、<section>等,用于更清晰地定义页面结构。 - 多媒体支持 :包括
<audio>和<video>标签,使得在网页上嵌入音频和视频变得更加简单。 - 图形处理 :通过
<canvas>标签,可以利用JavaScript进行2D绘图。<svg>元素用于嵌入矢量图形。 - 表单增强 :增加了新的输入类型(如
email、date、search),使得表单更易用。 - 离线存储 :通过
localStorage和sessionStorage实现了Web应用的离线存储功能。 - Web应用APIs :如拖放API、Web Workers、Web Socket等,提供了更丰富的Web应用功能。
这些新特性使得HTML5可以构建更加丰富和动态的Web应用。例如, <canvas> 标签的使用如下:
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
context.fillStyle = '#FF0000';
context.fillRect(0, 0, 200, 100);
</script>
上述代码将在网页上创建一个红色的矩形区域。HTML5的新特性不仅提升了Web开发者的工具箱,也为用户提供了更丰富的交互体验。
2.2 HTML在大屏布局中的应用
2.2.1 响应式设计原理
响应式设计是一种网页设计方法,目的是使网站在不同设备上都能提供良好的浏览体验,无论设备屏幕大小如何。它主要依赖于媒体查询(Media Queries)、灵活的网格系统、灵活的图片和媒体,以及对HTML和CSS的深入理解。
媒体查询是CSS3提供的功能,可以根据不同的屏幕宽度、高度、分辨率、甚至设备方向来应用不同的CSS规则。例如,以下媒体查询使得当屏幕宽度小于600像素时,页面中的 <body> 背景变为灰色:
@media (max-width: 600px) {
body {
background-color: gray;
}
}
实现响应式网页通常包含以下步骤:
- 使用流式布局 :使用百分比或
flexbox作为布局模型,使元素在必要时能够自适应容器尺寸。 - 媒体查询 :使用CSS媒体查询,根据屏幕大小应用不同的样式规则。
- 灵活的图像和媒体 :确保所有媒体元素都能够根据不同的屏幕尺寸进行缩放。
2.2.2 HTML与CSS结合的布局技术
HTML和CSS结合创建布局是Web开发的基础。将内容与表现分离,使用HTML定义内容结构,CSS负责内容的表现和布局。
- 使用
div元素进行区域划分 :通过div标签将页面内容进行逻辑分组,为它们分别赋予一个class或id。 - 使用CSS样式控制布局 :利用
display属性控制元素的显示方式,如block、inline、inline-block、flex、grid等。 - CSS Flexbox布局 :Flexbox布局是一种用于在容器内对项目进行水平或垂直排列的一维布局模型。
- CSS Grid布局 :CSS Grid布局是一种二维的布局系统,可以将网页分为行和列。
例如,一个基本的Flexbox布局示例:
<div id="container">
<div id="item1">项目 1</div>
<div id="item2">项目 2</div>
<div id="item3">项目 3</div>
</div>
#container {
display: flex;
justify-content: space-around;
}
#item1, #item2, #item3 {
width: 100px;
height: 100px;
background-color: lightblue;
}
在这个例子中, #container 是一个Flex容器,其子元素 #item1 、 #item2 和 #item3 将会在水平方向上均匀分布。这些布局技术是构建响应式大屏的基石,它们确保了内容在不同设备和屏幕尺寸下都能呈现良好的布局和可读性。
2.3 HTML在大屏数据展示中的技巧
2.3.1 利用HTML实现动态内容更新
在大屏展示中,动态内容更新是必须的功能之一。为了实现这一点,通常需要使用到JavaScript与HTML结合的方式,通过定时器或事件监听来更新页面上的内容。
以下是一个简单的示例,演示了如何使用JavaScript定时器每隔一段时间更新 <div> 元素中的内容:
<!DOCTYPE html>
<html>
<head>
<title>动态内容更新示例</title>
</head>
<body>
<div id="dynamic-content">0</div>
<button onclick="updateContent()">更新内容</button>
<script>
function updateContent() {
var content = document.getElementById("dynamic-content");
var currentValue = parseInt(content.innerHTML, 10);
content.innerHTML = currentValue + 1;
}
setInterval(updateContent, 1000); // 每1秒更新一次内容
</script>
</body>
</html>
在上述示例中,页面上的按钮可以手动触发内容更新,而 setInterval 函数则会设置定时器,每隔1秒自动调用 updateContent 函数来更新页面上的内容。
2.3.2 与后端数据交互的实践
在大多数数据可视化项目中,前端页面需要从后端服务获取数据。常见的数据交互方式包括使用AJAX进行异步请求,以及使用Fetch API。
以下是使用Fetch API从后端获取数据的示例:
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {
console.log(data);
// 在这里更新HTML内容
document.getElementById('data-container').innerHTML = JSON.stringify(data);
})
.catch(error => {
console.error('请求失败:', error);
});
上述代码中, fetch 函数向指定的URL发送了一个GET请求,并在请求成功后处理返回的JSON数据。数据返回后,可以将解析的数据更新到页面上的指定位置。
为了实现更复杂的交互,通常会使用如 axios 或 fetch 这类的HTTP客户端库。这些库为处理HTTP请求提供了更加灵活和强大的方法,能够处理诸如认证、请求取消、超时、自定义头部等高级功能。
HTML是实现大屏数据展示的基础,它与CSS和JavaScript相结合,可以构建出既美观又功能强大的数据可视化大屏。通过使用HTML标签创建结构,利用CSS进行样式布局,再通过JavaScript与后端进行数据交换和动态更新,最终实现用户友好的数据可视化界面。
3. CSS与JavaScript在大屏设计中的应用
3.1 CSS核心概念与高级技巧
3.1.1 CSS选择器及其优先级
CSS(层叠样式表)在大屏设计中扮演着至关重要的角色,它不仅负责页面的外观与风格,而且对于提升用户交互体验和视觉效果至关重要。其中一个核心概念就是CSS选择器。
CSS选择器用于选择需要添加样式的HTML元素。基本类型包括元素选择器(例如 p 选择所有段落)、类选择器(例如 .class 选择所有具有class属性的元素)、ID选择器(例如 #id 选择ID属性特定的元素)以及属性选择器等。为了构建复杂和精确的样式规则,通常需要组合使用这些基本选择器。
在CSS中,选择器的优先级决定了当多个规则应用于同一元素时,哪一个规则将被采用。优先级由选择器的权重决定,权重是由选择器的不同类型决定的,不同类型的权重值是不同的。例如,内联样式(权重最高)、ID选择器、类选择器、元素选择器等。
代码示例
/* 类选择器 */
.class {
color: red;
}
/* ID选择器 */
#unique {
font-size: 24px;
}
/* 元素选择器 */
p {
line-height: 1.6;
}
/* 后代选择器 */
div p {
color: blue;
}
/* 子选择器 */
div > p {
text-indent: 2em;
}
在实际项目中,我们通常通过各种浏览器开发者工具来检查元素的最终样式计算和选择器的优先级,这对于调试复杂的CSS问题非常有帮助。
3.1.2 CSS3动画与过渡效果
随着CSS3的引入,我们可以使用纯粹的CSS来创建动画效果,而无需依赖JavaScript或者Flash。CSS3提供了 @keyframes 规则来定义动画序列,并使用 animation 属性来应用这些动画到元素上。
动画示例
@keyframes example {
from {background-color: red;}
to {background-color: yellow;}
}
div {
width: 100px;
height: 100px;
background-color: red;
animation-name: example;
animation-duration: 4s;
}
而CSS过渡(Transitions)则是一种更平滑的样式变化方式,适用于在两种状态之间切换的元素(例如:鼠标悬停时改变颜色)。过渡效果由 transition 属性控制。
过渡效果示例
div {
width: 100px;
height: 100px;
background-color: red;
transition: background-color 2s;
}
div:hover {
background-color: yellow;
}
通过调整 transition 属性中的时长、延迟、过渡函数等参数,开发者可以创建出千变万化的视觉效果。这些特性极大地增强了Web界面的交互性和动态效果,对于大屏设计尤其重要。
3.2 JavaScript与HTML的交互机制
3.2.1 JavaScript基础语法回顾
JavaScript是Web开发的核心语言之一,它使得Web页面不仅仅限于静态内容的展示,而是可以实现动态交互。JavaScript基础语法包括变量声明、数据类型、运算符、控制流(如if-else语句、循环)、函数定义等。
变量声明与数据类型
// 声明变量
let message = "Hello, World!"; // 字符串类型
let isReady = true; // 布尔类型
let count = 10; // 数字类型
// 访问对象属性和方法
let obj = {
name: "Screen",
sayHello: function() {
return "Hello, this is a " + obj.name + "!";
}
};
console.log(obj.sayHello()); // 输出: Hello, this is a Screen!
控制流部分,例如条件判断和循环,是JavaScript中非常核心的部分,允许基于条件来执行代码块,或者重复执行代码块直到达到某些条件。
控制流示例
if (count > 5) {
console.log("Count is greater than 5.");
} else {
console.log("Count is less than or equal to 5.");
}
for (let i = 0; i < 5; i++) {
console.log("Counting: " + i);
}
函数是实现代码复用、模块化和抽象化的重要方式。通过定义参数和返回值,函数可以处理输入数据,并根据需求进行计算输出。
函数定义示例
function add(a, b) {
return a + b;
}
let sum = add(5, 3);
console.log(sum); // 输出: 8
3.2.2 利用JavaScript实现交云动态效果
大屏幕展示往往需要具有高度的动态性和实时性,这使得JavaScript成为了不可或缺的技术。JavaScript可以与HTML和CSS配合,为网页添加交云动态效果。
动态效果通常是通过事件监听器(如点击、鼠标移动等)触发的。当这些事件发生时,JavaScript代码会执行相关的操作,如更新DOM元素的内容、样式或者调用后端服务获取新的数据。
动态效果实现示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dynamic Content Update Example</title>
<style>
#dynamic-content {
color: blue;
}
</style>
</head>
<body>
<div id="dynamic-content">Original Content</div>
<button onclick="updateContent()">Update Content</button>
<script>
function updateContent() {
document.getElementById('dynamic-content').innerHTML = 'Updated Content';
}
</script>
</body>
</html>
在上述示例中,点击按钮后,JavaScript函数 updateContent 会被触发,这个函数将 div 元素的 innerHTML 更新为新的内容。这是一个简单的动态内容更新示例,但在实际的大屏应用中,这些交互通常更加复杂,涉及大量的数据获取、处理和可视化展示。
3.3 CSS与JavaScript在大屏动态展示中的实战
3.3.1 制作交云数据可视化组件
数据可视化组件是大屏设计中的重要组成部分。通过CSS和JavaScript的协作,可以制作出既有视觉吸引力又能清晰展示数据的组件。
制作交云数据可视化组件
首先,我们可以定义HTML结构来表示可视化组件:
<div id="chart-container">
<canvas id="data-visualization"></canvas>
</div>
接下来,我们使用JavaScript来初始化和绘制ECharts图表(一个流行的基于Canvas的图表库):
// 假设已经引入了ECharts库和相关CSS
let chartDom = document.getElementById('data-visualization');
let myChart = echarts.init(chartDom);
let option = {
// 这里配置图表的样式和数据
};
myChart.setOption(option);
在这个基础上,通过CSS来美化和定位图表容器,确保它能够适应大屏的布局。
CSS美化与定位
#chart-container {
position: relative;
width: 100%; /* 或者指定宽度 */
height: 400px; /* 根据实际需要调整高度 */
}
#data-visualization {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
3.3.2 优化大屏性能的策略
在大屏展示中,性能往往成为用户体验的关键。因此,开发者需要采取各种策略来优化页面性能,包括对CSS和JavaScript进行优化。
CSS优化
- 减少重绘和回流:在更改样式时,优先使用变换(transform)和透明度(opacity)等不触发重绘和回流的属性。
- 压缩CSS文件:移除无用的CSS规则,合并可以合并的规则,以减少文件大小。
- 使用外部CSS:避免在HTML中直接使用
<style>标签内联样式,外部CSS文件可以被浏览器缓存。
JavaScript优化
- 延迟加载:对于非首屏内容的JavaScript代码,可以使用异步加载技术。
- 懒加载:对于大量数据的可视化,可以实现懒加载,按需加载数据。
- 代码分割:将大的JavaScript文件拆分成小文件,减少初次加载时间。
通过这些策略,我们可以确保即使在数据量大、操作频繁的情况下,大屏也能够顺畅运行,为用户提供良好的交互体验。
通过本章节内容,我们了解了CSS和JavaScript在大屏设计中的关键作用,涵盖从核心概念到优化性能的多种技术手段。下一章节我们将深入探讨ECharts库如何在数据可视化项目中发挥巨大作用,以及如何解决实际项目中遇到的问题。
4. ECharts库在数据可视化中的运用
4.1 ECharts基础知识介绍
4.1.1 ECharts的安装与基本配置
ECharts(Enterprise Charts)是由百度团队开发的一个开源的数据可视化库,它提供了丰富的图表类型和灵活的配置项,可以轻松地在网页上展示数据。在开始使用ECharts之前,首先需要将库文件引入到项目中。
以CDN方式引入:
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.min.js"></script>
或者通过npm安装:
npm install echarts --save
安装完成后,在HTML文件中引入echarts.js文件,然后就可以在JavaScript中初始化一个ECharts实例。
var myChart = echarts.init(document.getElementById('main'));
接着,你可以设置图表的配置项并使用 setOption 方法将配置项应用到图表实例中。
var option = {
title: {
text: 'ECharts 示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
myChart.setOption(option);
4.1.2 ECharts图表类型详解
ECharts提供了多种图表类型,以满足不同的数据可视化需求。包括但不限于柱状图、折线图、饼图、散点图、雷达图、地图等。下面是部分常用图表类型的介绍:
- 柱状图 :适合比较不同类别的数据大小。
- 折线图 :适用于展示数据随时间变化的趋势。
- 饼图 :用于显示数据的比例分布。
- 散点图 :适合探索数据点之间的关联。
- 雷达图 :适用于多变量的数据对比。
- 地图 :用于展示地域性数据分布。
每种图表类型都有其特定的配置项和用法。例如,柱状图配置项中需要指定 xAxis (横轴)和 yAxis (纵轴),以及 series (系列)中的 type 为 bar ,并传入数据数组。
4.2 ECharts图表的高级应用
4.2.1 自定义主题和样式
ECharts支持通过JSON配置文件自定义主题和样式。你可以创建一个新的 .json 文件,定义图表的颜色、字体、阴影等样式属性,然后通过 echarts.registerTheme 方法注册到ECharts中。
// 自定义主题
var myCustomTheme = {
color: ['#c23531','#2f4554','#61a0a8','#d48265','#91c7ae','#749f83',
'#ca8622','#bda29a','#6e7074','#546570','#c4ccd3'],
// 更多样式设置...
};
echarts.registerTheme('myCustomTheme', myCustomTheme);
然后在初始化ECharts实例时指定主题。
var myChart = echarts.init(document.getElementById('main'), 'myCustomTheme');
4.2.2 数据的导入导出与更新机制
ECharts提供了数据导入导出功能,这使得数据的动态更新变得简便。 setOption 方法可以用来更新图表,你可以只修改 option 中对应的部分来改变图表的数据和样式。
myChart.setOption({
series: [{
data: [12, 33, 45, 56, 78, 89]
}]
});
此外,ECharts还支持数据的导出功能,可以将图表转换为图片、PDF等格式,这在汇报和分享时非常有用。
4.3 ECharts在实际项目中的案例分析
4.3.1 大屏数据可视化项目实例
假设我们需要为一家企业的数据可视化大屏创建一个折线图,展示过去一年每月的销售额变化。首先需要准备数据,然后在ECharts中配置相应的 xAxis 和 series ,并设置适当的视觉样式。
var option = {
xAxis: {
type: 'category',
data: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"]
},
yAxis: {
type: 'value'
},
series: [{
data: [120, 200, 150, 80, 70, 110, 130, 100, 230, 210, 170, 190],
type: 'line'
}]
};
4.3.2 遇到的问题与解决方案
在大屏可视化项目中,可能会遇到性能问题。例如,当图表数据量非常大时,图表的渲染可能会变得缓慢。为了解决这个问题,可以使用ECharts的 markPoint 和 markLine 来标记关键数据点,而不是展示所有数据点。
var option = {
// ...其他配置项
series: [{
type: 'line',
data: [...], // 大量数据
markPoint: {
data: [
{ type: 'max', name: '最大值' },
{ type: 'min', name: '最小值' }
]
},
markLine: {
data: [
{ type: 'average', name: '平均值' }
]
}
}]
};
这样图表的显示更直观,同时减轻了浏览器渲染的压力。
通过这些案例分析,我们可以更深刻地理解ECharts在实际应用中的灵活性和强大功能。这不仅能帮助我们解决实际问题,还能激发我们创造更丰富、更有效的数据可视化设计。
5. 数据可视化大屏的综合实践
5.1 企业决策驾驶舱界面设计
5.1.1 驾驶舱界面设计原则
在设计企业决策驾驶舱时,首要原则是简洁明了。界面应该直观地呈现最重要的信息,避免过多复杂的元素分散用户注意力。接下来,用户友好性也是一个关键因素。设计应确保用户能容易地导航和理解信息,以提高决策效率。此外,响应性和可扩展性同样重要,设计应适应不同分辨率的显示设备,并能够随着企业需求的增长而扩展。
实际案例中的设计思路
以某零售企业为例,其决策驾驶舱的设计着重于几个核心业务指标,如销售总额、客流量、库存水平等。设计时采用了模块化的布局,每个模块专注于一个业务指标,并通过颜色、大小、形状等视觉元素来突出数据变化。同时,设计团队为确保信息层次清晰,采用了清晰的标题、简洁的文字描述和直观的图标,使决策者可以快速把握核心数据。
5.2 关键业务指标的可视化展示
5.2.1 选择合适的图表类型
选择正确的图表类型对于传达信息至关重要。柱状图适合比较不同类别的数据大小,折线图适合展示趋势和模式,饼图和环形图适合显示各部分在整体中的占比。在大屏展示中,交互式和动态图表可以提升用户体验,让决策者能够通过操作(如鼠标悬停、点击等)来探索数据。
5.2.2 实现业务指标的数据联动
数据联动是指在用户与一个图表交互时,其他图表同步展示相关数据。例如,当用户在销售数据的折线图上选择一个特定的季度时,其他相关的图表(如利润和成本的柱状图)也会自动过滤出对应季度的数据。这种联动效果可以通过JavaScript和ECharts的事件监听功能来实现。
5.3 数据可视化大屏资源集合的构建
5.3.1 HTML页面代码的架构与规范
在构建大屏时,页面代码应该有清晰的架构和规范。通常会分为头部(header)、导航栏(nav)、内容区域(section)和页脚(footer)等部分。使用语义化的标签,如 <main> 来标记主要内容区域,可以提高页面的可读性和可访问性。代码规范则涉及命名约定、代码缩进、注释等,确保团队成员能够轻松理解和维护代码。
5.3.2 图像资源的准备与使用
图像资源的准备包括设计合适的图像尺寸、选择合适的图像格式(如SVG对于矢量图形,PNG对于透明图像),以及图像的优化以减小文件大小。图像资源在大屏中起到点缀和强化信息传递的作用,同时应确保图像加载不会对整体页面性能产生负面影响。
5.3.3 ECharts源码的模块化与优化
为了维护和扩展的方便,ECharts的源码应该遵循模块化设计。使用ES6的模块化导出和导入特性可以让代码更加清晰,并且便于管理。优化方面,可以使用ECharts的 lazyLoad 属性延迟加载非首屏图表,并使用 theme 属性加载自定义主题,减少不必要的资源加载。此外,利用webpack等模块打包工具对ECharts进行tree-shaking,可以剔除未使用的代码,进一步减小打包文件大小。
简介:数据可视化大屏展示是将关键业务指标通过大型屏幕直观呈现的技术,主要用于企业决策支持。HTML是构建大屏展示的基础,结合CSS和JavaScript技术,可以创建具有动态效果和交互性的界面。ECharts库提供了丰富的图表和交互功能,非常适合制作数据大屏。本合集提供了一系列数据可视化大屏的设计和实现资源,包括页面设计、ECharts示例代码等,覆盖了从布局到数据展示的各个方面。
更多推荐

所有评论(0)