ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Metro UI CSS Sorter 组件实战指南:基于内容自动排序 HTML 元素

Metro UI CSS Sorter 组件实战指南:基于内容自动排序 HTML 元素 前端UI组件【免费下载链接】Metro-UI-CSSA progressive front-end framework for creating high-performance responsive reactive web applications!项目地址https://gitcode.com/gh_mirrors/me/Metro-UI-CSS点击查看免费下载Metro UI CSS 的 Sorterdata-rolesorter组件是一套无需额外依赖的轻量排序方案可对列表项、表格行等任意 HTML 元素按文本、数字、日期、货币等多种格式做升序或降序重排。本篇指南以组件官方文档为主线结合仓库源码source/components/sorter/sorter.js与可运行示例examples/sorter.html展开讲解读完你将掌握 Sorter 的声明式用法、全部插件参数、实例与静态 API以及应对复杂数据结构与本地化数字格式的实战技巧。组件概览与依赖Sorter 组件通过读取被排序元素的内容完成排序既可以直接排序li等简单节点也可以借助data-sort-source与data-sort-target对表格行、卡片等复合节点按指定子元素取值。组件本身除核心 Metro UI 库lib/metro.js外没有任何外部依赖属于声明式初始化的标准 Metro 组件——只要页面引入了 Metro UI CSS 与 JS在元素上标记data-rolesorter即可自动生效。从源码看组件被注册为Metro.Component(sorter, {...})sorter.js并在创建时依次执行_create与_createStructure若未指定sortTarget会自动取第一个子元素的标签名作为排序目标sorter.js若sortStart为true则立即按初始方向执行一次排序sorter.js。基本用法排序列表项最简单的用法是将data-rolesorter放到容器上Sorter 会对其直接子元素按文本内容排序!-- 初始化时自动升序排列 -- ul>table thead tr thName/th thPrice/th /tr /thead tbody>!-- 按数字排序结果为 2、5、10 -- ul>div>!-- 降序Orange、Banana、Apple -- ul>// 为所有 sorter 组件配置全局默认选项 Metro.sorterSetup({ sortDir: desc, thousandSeparator: ., decimalSeparator: , });源码中Metro.sorterSetup通过$.extend合并到默认配置对象sorter.js并且支持通过全局变量globalThis.metroSorterSetup在脚本加载前注入配置sorter.js。实例方法获取组件实例后可调用两个方法sorter.jssort(dir)按指定方向asc或desc排序元素reset()将元素还原为初始顺序依赖saveInitial保存的快照。// 获取 sorter 实例 const sorter Metro.getPlugin(#mySorter, sorter); // 升序排序 sorter.sort(asc); // 降序排序 sorter.sort(desc); // 还原初始顺序 sorter.reset();从实现看sort会先在目标集合前插入一个临时占位节点作为锚点排序后把节点逐个insertAfter该锚点最后移除占位节点sorter.jsreset则直接重放初始化时保存的this.initial节点快照sorter.js。两处都对“无排序项”做了空集合保护。静态方法Metro.sorter命名空间提供四个静态工具方法sorter.jscreate(el, op)在指定元素上以给定选项创建 sorterisSorter(el)判断指定元素是否为 sortersort(el, dir)对指定 sorter 元素按方向排序非 sorter 返回falsereset(el)将指定 sorter 元素还原初始顺序非 sorter 返回false。// 升序排序 Metro.sorter.sort(#mySorter, asc); // 还原初始顺序 Metro.sorter.reset(#mySorter); // 判断元素是否为 sorter const isSorter Metro.sorter.isSorter(#mySorter);其中sort/reset内部会先经isSorter校验再通过Metro.getPlugin取实例执行sorter.js可安全地在任意元素上调用。事件回调组件在关键节点触发四个事件对应同名参数回调事件触发时机onSortStart排序开始时onSortStop排序完成时onSortItemSwitch排序比较过程中两个元素交换时onSorterCreate组件创建完成时源码中事件通过_fireEvent派发分别出现在_createsorter-createsorter.js、sort起始sort-startsorter.js、比较交换sort-item-switchsorter.js与排序完成sort-stopsorter.js。sort-item-switch的回调会收到{a, b, result}三个字段便于追踪具体的元素交换过程。支持的数据格式一览data-format支持以下 7 种格式官方文档给出的完整对照如下格式说明示例date日期值li>赞分享前端UI组件【免费下载链接】Metro-UI-CSSA progressive front-end framework for creating high-performance responsive reactive web applications!项目地址https://gitcode.com/gh_mirrors/me/Metro-UI-CSS点击查看免费下载相关推荐SAM 自定义训练指南提升领域数据分割精度的冻结微调方案附验收清单SAM 自定义训练指南提升领域数据分割精度的冻结微调方案附验收清单 segment anything 提供推理代码与预训练权重没有官方训练脚本。本文围绕前端UI组件daisyUI 5 Astro 实战指南用 CSS 组件库构建 HTML-first 内容站 UIdaisyUI 5 Astro 实战指南用 CSS 组件库构建 HTML first 内容站 UI Astro 内容型站点文档、落地页、博客、定价页、仪前端UI组件Material Design Lite 的 Expansion 组件基于 HTML details 元素构建可折叠内容区Material Design Lite 的 Expansion 组件基于 HTML details 元素构建可折叠内容区 导读 Material Desi前端UI组件上一篇3 步跑通 Mem Reduct 3.5.2Windows 内存监控与清理实操下一篇AnimateDiff 推理与训练实战指南从环境搭建、动画生成到 Motion Module 微调创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表