首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter TolyUI 框架#05 | 树形菜单设计

树形菜单职能 树形菜单在交互语义上承担职能是: [1]. 承载若干个 视图元件 ,并参与交互。 [2]. 视图元件 间呈树形组织结构。 [3]. 允许交互时,动画折叠/收起子节点。...映射数据是菜单数据源泉,一份映射数据对应着唯一菜单树,比如下面是 PLCKI 项目的映射数据: 注: 树形结构嵌套层级不可避免,数据全部信息可以参阅 plcki_menu_tree_data.dart...expandMenus : 展开菜单标识列表。 root : MenuNode 菜单节点树。...,树形结构视图构建逻辑被封装在框架内部,使用者只需简单地配置数据即可。...将其置 true 时,可以实现上面的仅展开一个面板功能: void _onSelect(MenuNode menu) { _menuMeta = _menuMeta.select(menu,singleExpand

11710

Android性能优化(二)之布局优化面面观

影响,类如RelativeLayout、LinearLayout等经常需要measure两次才能完成,嵌套、相互嵌套、深层嵌套发生会使measure次数呈指数级增长,所费时间呈线性增长; 由此得到结论...:那么随着控件数量越多、布局嵌套层次越深,展开布局花费时间几乎是线性增长,性能也就越差。...2D渲染显示列表时间,为了将内容绘制到屏幕上,Android需要使用Open GL ESAPI接口来绘制显示列表,红色线条越高表示需要绘制视图更多; Sync & Upload:表示是准备当前界面上有待绘制图片所耗费时间...,为了减少该段区域执行时间,我们可以减少屏幕上图片数量或者是缩小图片大小; Draw:表示测量和绘制视图列表所需要时间,蓝色线条越高表示每一帧需要更新很多视图,或者ViewonDraw方法中做了耗时操作...可以看到使用Merge标签进行优化之后布局嵌套就少了一层,Button作为父视图第三层FrameLayout直接子视图。 注意:merge标签常用于减少布局嵌套层次,但是只能用于根布局。

86930
您找到你想要的搜索结果了吗?
是的
没有找到

开发工具:推荐一款实用浏览器查看json插件

进行美化JSON页面 ● 轻松搜索JSON键和值 ● 在实时编辑器中修改JSON对象,更新键和值 ● 支持从树形视图操作菜单中复制对象路径 ● 支持从树形视图操作菜单中复制外部JSON...● 从支持树形视图操作菜单中复制内部JSON “Tree”视图支持快捷键列表: ● Alt+箭头 在字段之间上/下/左/右移动光标 ● Ctrl+Shift+箭头上/下 选择多个字段 ●...+Ins 插入一个新字段,类型自动 ● Ctrl+Shift+Ins 追加一个新字段,类型自动 ● Ctrl+E 展开或折叠字段 ● Alt+End 将光标移到最后一个字段 ● Ctrl+F...Ctrl+Shift+G 查找上一个 ● Alt+Home 将光标移到第一个字段 ● Ctrl+M 显示操作菜单 ● Ctrl+Z 撤销上一次操作 ● Ctrl+Shift+Z 重做 “Code”视图支持快捷键列表...: ● Ctrl+\ 格式化JSON数据,设置适当缩进 ● Ctrl+Shift+\ 压缩JSON数据,删除所有空白符 安装方法 chrome://extensions/ 进入扩展管理界面,然后确保打开开发者模式

30430

电商后台管理系统——权限管理模块

电商后台管理系统——权限管理模块 电商后台管理系统权限管理模块分为角色列表和权限列表两部分,两部分流程图大概如下 1.权限列表实现过程 创建路由组件配置路由——布局基本面包屑导航卡片视图——表单绑定数据提供方法获取权限列表数据...实现流程:添加角色列表组件配置路由——布局基本面包屑导航卡片视图表单等——表单绑定数据提供方法获取权限列表数据——操作功能模块实现 困难点: 1.表单展开列实现还需要通过三重嵌套for循环生成下拉列表...通过在作用域与插槽里使用栅格布局el-row(行),el-col(列),分为24列 通过scope.row.children拿到一级权限数据,将key值设置拿到数据itemid <el-tag...分配权限按钮对话框(树形结构弹窗)——分配权限按钮绑定点击事件——渲染所有权限数据一级默认选中数据到页面树形结构——分配权限对话框确定按钮绑定分配权限事件 <el-tree :data="rightslist...,获取角色下所有三级权限<em>的</em>id,并保存到 defKeys 数组中(判断是否包含child属性,包含则<em>不是</em>三级节点,则让该节点<em>的</em>子节点循环遍历递归调用该函数) 注意需要监听关闭对话框事件,因为需要重置defkeys

2.2K20

python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例

QTreeWidget 使用类似于 QListView 类方式提供一种典型基于 item 树形交互方法类,该类基于QT“模型/视图”结构,提供了默认模型来支撑 item 显示,这些 item...如果不需要灵活“模型/视图”框架,可以使用QTreeWidget 来创建有层级关系树形结构。...insertTopLevelItems() 在视图顶层索引中引入项目的列表 expandAll() 展开所有节点树形节点 invisibleRootItem() 返回树形控件中不可见根选项(Root...Item) selectionItems() 返回所有选定非隐藏项目的列表内 QTreeWidgetItem类中常用方法 方法 描述 addChild() 将子项追加到子列表中 setText(...系统定制模式实例 在上面的例子中,QTreeWidgetItem类节点是一个个添加上去,这样有时很不方便,特别是窗口产生比较复杂树形结构时,一般都是通过QTreeView类来实现不是QTreeWidget

3.2K21

一种TreeView组件分页异步加载方法

,并设置到列表上 3、基于dom复用思想实现treeview treeview我们可以理解需要展示树形结构listview。...遇到问题: Treeview是一级一级展开,最开始让人自然而然想到,每次展开时候我们发出网络请求,然后更新组件。...但是树形结构不像listView、gridView等线性结构那样,可以很方便分页,树形结构分页,配上树节点展开收起状态,想想都复杂,怎么办呢?...第二步:视图层向外抛出索要数据事件:这个时候treeview要开始渲染了,第一次渲染,发现实际数据空,则视图上先以空样式占位,同时抛出事件,告知控制器需要加载数据父节点以及startIndex与endIndex...第三步:组件控制器发出网络请求,帮助视图层完善树形结构:维护一个队列,控制同时发出网络请求数量,避免快速滚动下发出过多网络请求问题。 ? 维护一个网络请求队列,使用生产者消费者模式去消费队列。

1.6K32

将SQL优化做到极致 - 子查询优化

一次采用了原始方式执行,子查询部分作用就是"FILTER"*/ 2.子查询合并 子查询合并是指优化器不再单独子查询生成执行计划,而是将子查询合并到主查询中,最终合并后结果生成一个最优执行计划...从成本可见,显然不合并成本更低*/ 3.解嵌套子查询 解嵌套子查询是指在对存在嵌套子查询复杂语句进行优化时,查询转换器会尝试将子查询展开,使得其中表能与主查询中表关联,从而获得更优执行计划。...参数_unnest_subquery在8i中默认设置是false,从9i开始其默认设置是true。然而9i在非嵌套时不考虑成本。只有在10g中才开始考虑两种不同选择成本,并选取成本较低方式。...通常情况下,未能合并或者反嵌套子查询子计划会被放置在整个查询计划最后执行,子查询推进使得子查询能够提前被评估,使之可以出现在整体执行计划较早步骤中,从而获得更优执行计划。...从概念上来看它与嵌套视图比较类似,但各自有其优缺点。优点在于子查询如果被多次引用,使用嵌套视图就需要被执行多次,尤其在海量数据中满足条件结果非常少得情况下,两者差别很明显。

4.2K91

TDesign 更新周报(2022年5月第3周)

支持默认展开全部,tree.defaultExpandAll 树形结构,支持自由控制展开全部,或收起全部 expandAll() foldAll() 树形结构,支持拖拽排序,调整同层级顺序 树形结构,支持在当前节点之前插入新节点...Table:修复 多级表头 + 列配置 综合示例中,列数量超出一定限制时报错 Transfer:修复列表数量变化时页码展示问题 Input:修复 clear 触发后 focus, 修复外部传入...,未配置 help 时不再默认占位 Table:树形结构,支持默认展开全部,tree.defaultExpandAll Table:树形结构,支持自由控制展开全部,或收起全部 expandAll()...:修复触发方式 blur 不生效问题 Form:修复传入字段值 undefined 时候不会更新双向绑定值 Switch:修复 disabled 状态下仍然可以点击 TreeSelect:...性能优化,减少隐藏元素,使用更流畅 Table:重构表格嵌套关系 Input:重构输入框嵌套关系 Menu:重构导航菜单嵌套关系 Dropdown:重构下拉菜单嵌套关系 2.

2.8K30

大前端开发中“树” (上)

不是对着纯文本进行处理。...布局描述节点与实际视图,大多数情况下是一对一关系;通过 、 等标签,也可以组合出嵌套、内联等一对多关系,在布局资源转换为视图树时,进行这些处理。...3.1.2 视图 View 是 Android 视图描述事实单位,前文提到视图组合 ViewGroup 也属于 View。视图之间父子关系建立了一个树形结构,共同描述布局和渲染。...样式和主题具有继承关系,从而可类比 CSSOM 树形结构。 以主题形式应用在父级视图公共视图属性,会同时作为优先级较低属性应用在子视图中:如果子视图自己没设置这个属性,就使用主题设置属性。...3.3.2 从视图树到上屏展示 Web 在生成渲染树后,就可以进入布局和渲染过程;Android 这个过程与 Web 处理渲染树上屏过程,从流程上来说较为类似,就不做具体展开

95940

QTreeWidget 简介「建议收藏」

方法 描述 setColumnWidth(int column,int width) 将指定列宽度设置给定值 Column:指定列 width:指定宽度 insertTopLevelItems...() 在视图顶层索引中引入项目的列表 expandAll() 展开所有节点树形节点 invisibleRootItem() 返回树形控件中不可见根选项(Root Item) selectionItems...() 返回所有选定非隐藏项目的列表内 QTreeWidgetItem类中常用方法 方法 描述 addChild() 将子项追加到子列表中 setText() 设置显示节点文本 Text() 返回显示节点文本...实例:树形结构实现 树形结构是通过QTreeWidget和QTreeWidgetItem类实现,其中QTreeWidgetItem类实现了节点添加,其完整代码如下 import sys from...,这样有时很不方便,特别是窗口产生比较复杂树形结构时,一般都是通过QTreeView类来实现不是QTreeWidget类,QTreeView和QTreeWidget类最大区别就是,QTreeView

1.3K40

Android 绘制多级树形选择列表实例代码

二、思路分析 毫无疑问,对于这种数据可能达到几千几万行列表视图,我们需要选择recyclerview等具有回收item功能控件,因此Item状态保持放在Model中不是View中。...由于原始数据是树形结构,我们需要先将树形结构转换为列表数据,类似根结点 – 父节点1 – 子结点1 – 子节点2 – 父节点2……这种形式 – 这恰恰是树前序遍历 ?...= null) { return finalNode; } } } return null; } 以上多级树形列表展开与隐藏便完成了,剩下便是对树节点一些操作:...对于这些操作,我采用了类似Motion Event方式 – 用事件传递与分发来处理。 比如展开时候同级item隐藏,其实便是通知兄弟节点设置expandfalse。 ?...绘制多级树形选择列表实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

2.1K10

中国行政单位树形可视化实战!

行政区划关系可以用如下一个树形图表示:根节点(第〇层)中国(大陆),树第一层31个省级单位节点,第二层省所辖地级市,第三层(叶子节点)市所辖区/县,每一个非叶子节点都可以向下展开到叶子节点...需要指出,这样写法并不是一开始就是这样,中间经过了很多调试和分析,在走通流程基础上,增加了一些对异常,特殊情况等处理,才最终形成了这个“能跑通”版本。方便理解,我在代码中做了详细注释。...可视化部分 需求分析 使用上一步保存好文件进行文章开头树形绘制。pyecharts中树形图很容易绘制,关键在于把数据调整需要格式,见下面代码data。最后再进行一些美化设置即可。...如果节点有子节点,children一个列表列表其所有子节点字典形式(如节点C)。如果子节点还有子节点,则children会形成嵌套结构。...第6行利用列表推导式,把每一个县(区)名字前加上name,做成字典,由于县(区)都没有子节点,不需要有children。但他们是属于每个城市children,相应城市名字是由外层循环传入

1.3K10

Cocos Creator 编辑器扩展:一键查找资源引用

有以下 3 个选项: 自动展开查找结果:切换不同结果展示方式(自动展开或手动展开) 结果精确到节点:结果精确到预制体或场景中节点上组件和属性(有的话) 查找快捷键:在资源管理器中选择资源后按下快捷键即可查找资源引用...预制体数据结构和场景大致相同,这里只拿场景举例。 没有专门研究过场景文件数据结构小伙伴,可能会觉得里面的数据应该是树形结构,就像层级管理器中展示出来那样,节点与子节点一层一层地嵌套着。...扁平化 树形结构就好像一个多维数组,不同纬度间不断嵌套,像这样: [0, 1, [2, 3, 4], 5, [6, [7, 8]], 9] 当我们调用数组 flat() 函数将这个多维数组扁平化,数组就会变成...比如 background 节点父节点 id 2,那么就是数组中第 3 个对象,即 _name Canvas 节点对象;又如 Main Camera 节点上有一个组件 id 4,那就是数组中第...如果你觉得这些项目也都还不错,请不要忘记也点个 ⭐Star~ 自动压缩 PNG 资源 项目构建完成后自动压缩 PNG 资源。

1.9K20

使用jQuery UIdraggable和droppable完成拖拽功能--介绍

另外一方面,自己需要实现一个zTree不支持复杂逻辑拖拽功能。总体来说,我要实现是一个可以拖拽树形列表。当然最新版zTree也支持多课树之间数据交互。...个人推荐不是非常复杂需求都可以考虑使用zTree,因为它授权许可是MIT,你可以自由获取,修改和分发给他人。...1.父节点可以嵌套叶子节点,而已最好支持嵌套层数不显示,程序自动完成这个功能,或者在初始化时候,开发人员传入一个指定层级数目 2.父节点和叶子节点都可以拖动。...说明:拖动父节点到右侧时,它包含叶子节点都需要拖到右边 3.树形类表默认可以折叠,单击展开,再单击就折叠。...4.点击节点右侧“删除”按钮可以删除列表里面的数据 大家参照上面的实例demo,可以看出我需要完成功能。

2.2K50

评论系统几种展示结构和存储设计

适用场景和例子线性结构评论系统适用于对话不是主要目的,或者用户更关注新鲜内容场景。例如新闻网站、博客网站等,用户通常更关注文章本身,不是其他用户评论。...reply_to_idINT被回复或引用评论唯一标识符。如果这个评论不是回复或引用其他评论,那么这个字段可以为空。三、嵌套式(树形)评论结构1....什么是嵌套式(树形)评论结构嵌套式(树形)评论结构是一种常见在线评论组织方式,它允许用户在其他用户评论下面进行回复,形成一种层次分明对话结构。...使用场景和例子嵌套式(树形)评论结构适用于许多在线交互场景,特别是那些需要深度讨论和多层次对话场合。下面是一些使用嵌套树形结构站点Reddit3....树形评论结构存储设计树形评论结构典型存储设计通常有两种主要方法:邻接列表模型和路径枚举模型。 邻接列表模型: 在这种模型中,每个评论都有一个父评论ID字段。

24510

tf.nest

一、概述tf.nest公共API称空间。函数列表:assert_same_structure(...): 断言两个结构以相同方式嵌套。flatten(...): 从给定嵌套结构返回平面列表。...nest2:一个任意嵌套结构。check_types:如果序列类型True(默认值)也被选中,包括字典键。如果设置False,例如,如果对象列表和元组具有相同大小,则它们看起来是相同。...tf.nest.flatten( structure, expand_composites=False)如果嵌套不是序列、元组或dict,则返回一个单元素列表:[nest]。...expand_composites:如果真,则复合张量,如tf。SparseTensor和tf。拉格张量被展开成它们分量张量。返回值:一个Python列表,输入扁平版本。...拉格张量被展开成它们分量张量。如果False(默认值),则不展开复合张量。

2.3K50

Android零散

2016-03-13 Android零散 ListView中嵌套GridView 要实现分组列表这样效果:点击ListView中分组名称,即展开此分组显示其包含项目。...使用ExpandableList可以实现展开这样效果,如果对于列表每个可点击标题View需要更多定制,不是简单展开——例如点击全选等,那么可使用ListView嵌套GridView组合实现...,ListView中嵌套GridView应该是完全展开——内外层都滑动交互体验很别扭,而且实现起来麻烦。...setAdapter和addHeaderView、addFooterView 可以使用addHeaderView和addFooterView来ListView添加首尾个性视图。...addFooterView在setAdapter之后执行的话,虽然不引起运行时错误——但是更迷惑是——添加视图是看不到了。 这个是和API Level相关一个问题,算是谷歌坑吧。

64560

RecyclerView各种版本兼容问题处理集锦

recyclerview-v7-21.0.0.aar,该aar文件其实是个压缩文件,解压该文件可得到classes.jar,将该jar包更名并加入到你工程,上面的运行错误应该就没有了。...2、在23.2.0之前版本上,RecyclerView会默认充满整个屏幕下方,即使在布局文件中将其高度设置wrap_content,循环视图依旧霸气地填充到屏幕底部,导致在它后面的其它视图都显示不了了...3、当循环视图列表项已经占满整个屏幕,此时再往顶部添加一条新记录,感觉屏幕没有发生变化,也没看到插入动画。实际上视图顶部确实有添加新记录,把列表项往下拉就能看到,只是循环视图不会自动进行下拉。...要解决这个问题,得在notifyItemInserted方法调用之后,再调用循环视图对象scrollToPosition(0)方法,表示滚动到第一条记录。...4、Android5.0之后如果使用ScrollView嵌套RecyclerView,那么RecyclerView将只显示第一行,后面部分要滑动才会出现,但此时滑动只有RecyclerView部分不是整个

2.6K20

Odin Inspector 系列教程 — Value Dropdown Attribute

大家好,又见面了,我是你们朋友全栈君。 Value Dropdown Attribute特性用于任何属性,并使用可配置选项创建下拉列表。使用此选项可为用户提供一组特定选项供您选择。..., 256 }, { "Medium", 512 }, { "Large", 1024 }, }; 【SortDropdownItems】默认为false 开启后为下拉列表根据...= 100)] public int SomeSize7; 【FlattenTreeView】是否使用平铺树形视图 /*【FlattenTreeView】是否使用平铺树形视图*/...ValueDropdown("TextureSizes", DropdownWidth = 100)] public int SomeSize7; /*【FlattenTreeView】是否使用平铺树形视图...ture则选中item不在出现在等待选择列下拉表中 /// DrawDropdownForListElements true 每个item都有一个下拉列表 /// </summary

71120

xwiki功能-内容组织

当你查看"Product Team"页面时,你可以在这个页面看到如以下所示面包屑(你可以点击省略号展开树): ?...另外,你可能有如下原因希望使用subwiki不是使用嵌套页面: 你想为一组用户提供自定义应用程序/扩展,不提供给其他人 你想实现多租户,每个子wiki被看作是一个孤岛(各自拥有自己用户等)...普通用户只能创建嵌套页面。 嵌套空间: 一个空间拥有另一个空间作为父节点。用户只需要处理嵌套页面,事实上嵌套页面模拟使用嵌套空间。这就是为什么嵌套空间概念仍然存在。...我应该在我主页上放置哪个导航:空间列表或页面树视图? 我可以在一个空间下一个页面设置权限?...这个实体可能称为节点,将有自己内容,相关属性,和孩子列表(类似于JCR模式)。 而在现实中,为了不破坏与现有的许多功能和应用程序兼容性,我们必须保持“页面”和“空间”概念来模拟嵌套功能。

88410
领券