Twaver-HTML5基础学习(41)列表可视化视图组件(List)

简介: 本文介绍了如何在Twaver-HTML5中使用列表可视化视图组件(List),展示了如何创建列表、设置列表属性(如行高、间隔颜色等)、实现数据绑定和排序,以及如何通过React代码示例进行操作。

列表可视化视图组件(List)

效果图:
在这里插入图片描述
可以生成一个列表,将box中的元素全部展示出来
添加组元素:
在这里插入图片描述
在这里插入图片描述
ctrl加点击 多选
在这里插入图片描述

twaver.controls.List

以列表的形式来展示数据容器中的数据
在这里插入图片描述
官方文档链接:http://doc.servasoft.com/uploads/twaver-html5-5.9.0-api/classes/twaver.controls.List.html

react代码

/*
 * @Descripttion: 
 * @version: 
 * @Author: ZhangJunQing
 * @Date: 2022-04-18 14:44:05
 * @LastEditors: ZhangJunQing
 * @LastEditTime: 2022-05-11 16:00:53
 */
import React, {
    useEffect, useState } from 'react'

const twaver = require('twaver');

// const demo = require('demo');
const Demo = () => {
   
    const [network, setnetwork] = useState({
   })
    const init = () => {
   
        var box = new twaver.ElementBox();
        var network = new twaver.vector.Network(box);
        var list = new twaver.controls.List(box);
        init()
        initNetwork()
        function init() {
    initTable(); initDataBox(); }
        function initTable() {
   
            var listPan = list.getView();
            listPan.style.width = "200px";
            listPan.style.height = "100%";
            document.getElementById("testID").appendChild(listPan);
            // 间隔宽度
            list.setRowLineWidth(10);
            // 行高
            list.setRowHeight(50);
            // 间隔颜色
            list.setRowLineColor(twaver.Colors.blue_dark);
            // 排序
            list.setSortFunction(function (node1, node2) {
   
                if (!node1) {
    return -1; }
                if (!node2) {
    return 1; }
                return node2.getId() - node1.getId();
            });
        }
        function initNetwork() {
   
            var view = network.getView();
            document.getElementById("testID").appendChild(view);
            network.adjustBounds({
    x: 0, y: 0, width: 1300, height: 600 });
        }
        function initDataBox() {
   
            var from = new twaver.Node({
    name: 'from', location: {
    x: 300, y: 300 } });
            box.add(from);
            var to = new twaver.Node({
    name: 'to', location: {
    x: 500, y: 500 } });
            box.add(to);
            var link = new twaver.Link(from, to);
            box.add(link);
            var i = 10; 
            let group = new twaver.Group({
   name:"group",location:{
   x:400,y:400}})
            box.add(group)
            while (i-- > 0) {
   
                var data = new twaver.Node();
                data.setName("TWaver-" + i);
                data.setParent(from);
                data.setLocation(i*40 + 200,i*40)
                data.s('inner.color', randomColor());
                group.addChild(data)
                box.add(data);
            }

        }

        function randomColor() {
   
            var r = randomInt(255);
            var g = randomInt(255);
            var b = randomInt(255);
            return '#' + formatNumber((r << 16) | (g << 8) | b);
        }

        function randomInt(n) {
   
            return Math.floor(Math.random() * n);
        }

        function formatNumber(value) {
   
            var result = value.toString(16);
            while (result.length < 6) {
    result = '0' + result; } return result;
        }
    }
    useEffect(init, [])


    return (
        <>
            <p style={
   {
    fontSize: "20px", paddingLeft: "50px", poaddingTop: "50px" }}>tips: </p>
            <ul style={
   {
    fontSize: "20px", paddingLeft: "50px" }}>
                <li>List</li>
            </ul>
            {
   /* 画布元素需要开启定位 不然生成的图元坐标点会偏移 */}
            <div id="testID" style={
   {
    width: "800px", height: "800px", border: "1px solid #ccc", position: "relative", margin: "0 auto" }}></div>
        </>
    )
}
export default Demo

学习参考:TWaver Documents
https://www.docin.com/p-2142096700.html

目录
相关文章
|
4月前
|
存储 JavaScript 数据可视化
vue3+echarts应用——深度遍历html的dom结构并用树图进行可视化
vue3+echarts应用——深度遍历html的dom结构并用树图进行可视化
137 1
|
4月前
|
移动开发 JSON JavaScript
全网最详细教写可视化面板(js、css3、html5)
全网最详细教写可视化面板(js、css3、html5)
36 0
|
1天前
|
数据可视化 前端开发
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
本文介绍了如何在Twaver-HTML5中使用鹰眼(Overview)可视化视图组件,它作为Network的缩略图,允许用户通过缩略图导航Network,支持单击、双击和框选操作来控制Network视图。
10 5
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
|
1天前
Twaver-HTML5基础学习(35)Network中ToolTip显示Chart(视图未成功出现)
本文尝试在Twaver-HTML5的Network组件的ToolTip中显示echarts饼图,但未成功,可能与版本有关。
8 4
Twaver-HTML5基础学习(35)Network中ToolTip显示Chart(视图未成功出现)
|
1天前
Twaver-HTML5基础学习(30)监听事件_network绘制监听_network视图操作监听_鼠标事件的监听
本文介绍了如何在Twaver-HTML5中监听网络视图操作事件,包括视图绘制、鼠标事件以及获取鼠标下的网元等。
5 1
Twaver-HTML5基础学习(30)监听事件_network绘制监听_network视图操作监听_鼠标事件的监听
|
1天前
|
数据可视化 前端开发
Twaver-HTML5基础学习(25)网元可视化视图组件(Network)
这篇文章介绍了Twaver-HTML5中的网元可视化视图组件(Network)的层次结构,包括view、rootCanvas和topCanvas的使用方法和示例。
17 6
|
1天前
|
移动开发 数据可视化 HTML5
Twaver-HTML5基础学习(40)表格可视化视图组件(Table)
本文介绍了如何在Twaver-HTML5中使用表格可视化视图组件(Table),包括创建表格、定义列对象、实现数据绑定和排序,以及处理表格事件和获取表格数据的方法。
6 1
|
1月前
|
监控 数据可视化 前端开发
【前端】政务服务大数据可视化监控平台(源码+html+css+js)
【前端】政务服务大数据可视化监控平台(源码+html+css+js)
|
3月前
|
移动开发 监控 前端开发
基于 HTML5 WebGL 和 VR 技术的 3D 机房数据中心可视化
基于 HTML5 WebGL 和 VR 技术的 3D 机房数据中心可视化
|
3月前
|
移动开发 前端开发 JavaScript
HTML5+CSS3+JavaScript网页实战
HTML5+CSS3+JavaScript网页实战