返回介绍

可排序

发布于 2019-05-26 16:28:28 字数 2926 浏览 1084 评论 0 收藏 0

创建可排序的网格和列表重新来排列元素的顺序。

拖拽元素到另一个可排序的网格中的某处,该网格中其它条目会自动适应排列顺序。这将会在诸如排列画廊条目或者菜单条目时显得尤为有用。

用法

要使用这个组件,需要在容器中添加 .uk-sortable 类,然后创建子元素来定义这个组件。为了使必要的JavaScript生效,还需要添加 data-uk-sortable 属性。注意 使用此组件需要额外添加 sortable.css 文件,在css/components文件夹中。此组件需要额外添加 sortable.js 文件,在js/components文件夹中。

<ul class="uk-sortable" data-uk-sortable>
    <li>...</li>
    <li>...</li>
</ul>

任意元素的排序

可排序组件并不限制只能用于 <ul> 元素。你可以使用任意块元素作为容器。

<div class="uk-sortable" data-uk-sortable>
    <div>...</div>
    <div>...</div>
</div>

可排序手柄

默认地,整个可排序元素都可以拖拽进行排序。为了创建一个操作手柄,只需为希望作为手柄的元素添加 {handleClass:'uk-sortable-handle'} 选项到 data 属性,并添加手柄的class 类名。

<ul class="uk-sortable" data-uk-sortable="{handleClass:'uk-sortable-handle'}">
    <li><div class="uk-sortable-handle"></div>...</li>
</ul>

多个列表之间的排序

为了是跨列表的拖拽排序成为可能,你需要为每个列表添加 data-uk-sortable="{group:'GROUP-NAME'}" 属性,将它们归为一组。

<ul class="uk-sortable" data-uk-sortable="{group:'my-group'}">...</ul>
<ul class="uk-sortable" data-uk-sortable="{group:'my-group'}">...</ul>

JavaScript 选项

这是一个关于如何通过data属性设置选项的例子:

data-uk-sortable="{animation:0, dragCustomClass:'dragging'}"
选项可用值默认值描述
groupstringfalse列表的组
animationinteger150毫秒计时的动画
thresholdinteger10触发元素拖拽的鼠标移动像素距离的阈值
handleClassstring''自定义类名,用于定义哪些元素可以触发排序
dragCustomClassstring''添加到被拖拽元素中的自定义类

手动地初始化元素

var sortable = UIkit.sortable(element, { /* options */ });

Events

NameParameterDescription
start.uk.sortableevent, sortable object, dragged element可排序拖拽开始时触发
move.uk.sortableevent, sortable object移动可排序条目时触发
stop.uk.sortableevent, sortable object, dragged element拖拽终止时触发
change.uk.sortableevent, sortable object, dragged element, action改变可排序条目时触发

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文