可排序列表是列表的扩展,可以对列表进行排序.
让我们来看一下可排序列表元素的布局结构:
- <!-- 加在列表区上额外的“sortable”类 -->
- <div class="list-block sortable">
- <li>
- <div class="item-content">
- <div class="item-media">...</div>
- <div class="item-inner">...</div>
- </div>
- <!-- 可排序句柄元素 -->
- <div class="sortable-handler"></div>
- </li>
- </div>
复制
其中:
-
sortable-handler
- 可拖拽元素("draggable" element)(默认隐藏),允许你通过它来调整列表顺序
使列表变成可排序列表视图十分简单,只需要给列表区加上“sortable”类,并在列表元素<li>中加入“sortable-handler”元素作为其直接子元素
开启和关闭排序功能
在拥有可排序列表之后,我们需要某种方法来开启或者关闭排序功能。
通过HTML标签控制
可以通过在链接中设置特定的类和data属性来开启或者关闭排序功能:
-
将"open-sortable"类加入到任意HTML元素中(推荐链接元素),点击该元素实现开启排序功能
-
将"close-sortable"类加入到任意HTML元素中(推荐链接元素),点击该元素实现关闭排序功能
-
将"toggle-sortable"类加入到任意HTML元素中(推荐链接元素),点击该元素实现切换(开启/关闭)排序功能
-
如果在应用中有多个可排序列表,你需要在以上元素中加入data-sortable=".sortable"属性,以CSS选择器对应相应的可排序列表
- <div class="content-block">
- <!-- 我们在data-sortable属性中指定目标可排序列表 -->
- <p><a href="#" data-sortable=".sortable" class="open-sortable">Enable sortable</a></p>
- <p><a href="#" data-sortable=".sortable" class="close-sortable">Disable sortable</a></p>
- <p><a href="#" data-sortable=".sortable" class="toggle-sortable">Toggle sortable</a></p>
- </div>
- <!-- 可排序列表 -->
- <div class="list-block sortable">
- <ul>
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-f7"></i></div>
- <div class="item-inner">
- <div class="item-title">Item 1</div>
- <div class="item-after">$10</div>
- </div>
- </div>
- <!-- 可排序句柄 -->
- <div class="sortable-handler"></div>
- </li>
- <li>
- <div class="item-content">
- <div class="item-media"><i class="icon icon-f7"></i></div>
- <div class="item-inner">
- <div class="item-title">Item 2</div>
- <div class="item-after">$20</div>
- </div>
- </div>
- <div class="sortable-handler"></div>
- </li>
- ...
- </ul>
- </div>
复制
通过JavaScript控制
可以通过恰当的App方法:
myApp.sortableOpen(sortableContainer) - 在指定的可排序列表开启排序功能
- sortableContainer - 可排序列表的HTML元素或CSS选择器,可选的。如果没有指定,Framework7默认将第一个<div class="list-block sortable">元素作为该方法目标。
myApp.sortableClose(sortableContainer) - 在指定的可排序列表关闭排序功能
- sortableContainer - 可排序列表的HTML元素或CSS选择器,可选的。如果没有指定,Framework7默认将第一个<div class="list-block sortable">元素作为该方法目标。
myApp.sortableToggle(sortableContainer) - 在指定的可排序列表切换(开启/关闭)排序功能
- sortableContainer - 可排序列表的HTML元素或CSS选择器,可选的。如果没有指定,Framework7默认将第一个<div class="list-block sortable">元素作为该方法目标。
- <p><a href="#" class="open">Enable sortable</a></p>
- <p><a href="#" class="close">Disable sortable</a></p>
- <p><a href="#" class="toggle">Toggle sortable</a></p>
复制
- var myApp = new Framework7();
- var $$ = Dom7;
- $$('.open').on('click', function () {
- myApp.sortableOpen('.sortable');
- });
- $$('.close').on('click', function () {
- myApp.sortableClose('.sortable');
- });
- $$('.toggle').on('click', function () {
- myApp.sortableToggle('.sortable');
- });
复制
Sortable Events
open | 可排序列表<div class="list-block sortable"> | 当开启排序功能时触发 |
close | 可排序列表<div class="list-block sortable"> | 当关闭排序功能时触发 |
sort | 列表项目<li> | 当用户释放正在排序的列表项目(<li>)且该项目的顺序改变时触发 |
相关推荐
可排序列表视图,用于本机内容演示版安装npm i react-native-sortable-list --save例子API道具数据(对象)数据源订购? (数组)来自数据的键数组,来自数组的键顺序将用于初始行顺序风格? (对象,数组) ...
"移动端列表长按上下拖动排序"是一种提升用户体验的功能,允许用户通过简单的手势操作来调整列表项的顺序,使得信息管理更加直观和便捷。这个功能主要利用了HTML5的sortTable技术和触摸事件来实现,专门针对移动设备...
`angular-ui-sortable`指令允许开发者在AngularJS应用中创建可拖动排序的列表,用户可以通过直观的拖放操作来调整列表项的顺序。这个特性在诸如任务管理、数据展示、菜单配置等场景中十分有用,提升了用户体验并增强...
react-native-smart-sortable-sudoku-grid, 一个智能可以排序的数独网格,用于响应原生应用程序 react-native-smart-sortable-sudoku-grid 一个智能可以排序的数独网格,用于... 它在iOS和安卓上工作。预览 安装npm i
React本机可排序列表(概念验证!) 这是演示的react-native端口。 它支持任意数量的项目,每个项目可以具有不同的高度。 它还包括一些本机特定的调整: 项目列表嵌入在ScrollView中。 长按开始排序。 在排序过程中...
`SortableElement`用于将单个列表项变为可拖动的元素,而`SortableList`则负责处理整个列表的排序逻辑。这两个组件通过props相互交互,确保了排序过程的正确性和流畅性。此外,该库还提供了一系列自定义选项,如排序...
react-sortable-list是使用react和html5拖放API的可排序列表组件。 安装 yarn add react-sortable-list 用 import SortableList from 'react-sortable-list' import ReactDOM from 'react-dom' import React , { ...
在本文中,我们将深入探讨Laravel开发中的一个关键特性——"l5-filterable-sortable"。这个特性主要用于在Web应用程序中实现数据的高效筛选和排序,尤其适用于处理大量的数据库记录。它基于laracasts/查询字符串筛选...
react-native-sortable-listview, ListView的拖放功能包装,用于响应本机 react-native-sortable-listviewListView的拖放功能包装,用于响应本机。 拖动时允许拖放自动滚动行。将它添加到你的项目中运行 npm install...
此外,`eloquent-sortable`还提供了一些其他有用的方法,如`highest()`和`lowest()`,它们分别用于移动模型到排序列表的顶部和底部。同时,`sortAfter()`和`sortBefore()`可以用来根据现有模型的位置调整排序。 在...
在Laravel框架中,开发一个应用常常涉及到数据的管理和展示,而数据的排序是其中非常常见且重要的一环。`laravel-sortable`是一个专门为Laravel设计的包,它简化了对Eloquent ORM(对象关系映射)模型的排序过程。这...
3. 整合优势:通过knockout-sortable,开发者无需关心排序后的DOM更新和数据模型同步,大大减少了手动操作,提高了代码的可维护性和开发效率。 四、实际应用 在开发复杂的Web应用时,如任务管理器、购物车或者日历...
在网上找的(vue3+sortable.js根本跑不起来)网上好多例子在vue3下根据跑不起来于是,也没有对表格排序的例子。Vuedraggable 是基于并提供Sortable.js的所有功能。重用现有element-plus组件库。对于小白来说怎么在...
总结来说,angular-sortable-view是AngularJS开发中一个强大的工具,它简化了前端项目中数据列表的多列排序任务,提供了声明性的API,使开发者能够专注于业务逻辑,而非底层排序细节。通过合理的配置和灵活的扩展性...
在Laravel框架中,"sortable"是一个非常实用的工具,用于处理数据表列的排序功能。这个包使得开发者能够方便地实现对数据库记录的动态排序,提升用户体验,并且简化了后端代码的编写。让我们深入了解一下这个包的...
不推荐使用 该库没有活动的维护程序,并且有许多未解决的问题。 不建议用于新项目。 考虑改用 。... renderRow方法必须呈现将onLongPress和onPressOut方法转发到Touchable *子组件的组件。 调用onLongPr
) 这是对reaction-motion可排序列表演示的概括。 它支持任意数量的项目,每个项目可以具有不同的高度。原料药<SortableList items={data}> {(key) => ... }</SortableList>其中data是字符串到数据的映射(即{...
总之,`angular-ui-sortable` 提供了一个方便的方式来实现 AngularJS 应用中的可拖拽排序列表,它通过结合 jQuery UI 的 Sortable 功能和 AngularJS 的双向数据绑定,使得排序操作变得直观且易于集成。
7. **自定义行为**:提供丰富的API和选项,允许开发者根据需求调整排序行为,如排序方向、阻止拖放等。 8. **事件驱动**:通过绑定不同的事件,可以捕获用户操作,如`onSort`、`onStart`、`onEnd`等,方便进行后续...