ionic4 ion-reorder-group组件拖拽改变item顺序

ionic4 ion-reorder-group组件拖拽改变item顺序

2018在ionic项目中用到的组件有很多,这篇文章讲一讲ion-reorder-group这个组件的使用。刚开始我都不知道ionic4中已经封装了拖拽排序的组件,也是主管告诉我的。使用了这个组件的经历告诉我:仔细读官方文档,是没错的
HTML中使用组件,代码如下

 <!--一个排序组合一个ion-reorder-group-->
 <ion-reorder-group [disabled]="false" (ionItemReorder)="reorder($event)">
     <ion-item color="tertiary" *ngFor="let field of fieldList,let i=index">
        <ion-label>{
   { field.name}}</ion-label>
        <!--拖拽按钮-->
        <ion-reorder slot="end"></ion-reorder>
     </ion-item>
 </ion-reorder-group>

ionItemReorder绑定reorder事件,是item被拖拽时会被触发的事件,这个事件是ionic绑定在IonReorderGroup组件上的。记得一定要设置disabled属性,不然不会有拖拽按钮出现。

reorder(ev) {
    try {
        if (ev.detail.to === this.fieldList.length) {
            ev.detail.to -= 1;
        }
        if (ev.detail.from < ev.detail.to) {
            this.fieldList.splice(ev.detail.to + 1, 0, this.fieldList[ev.detail.from]);
            this.fieldList.splice(ev.detail.from, 1);
        }
        if (ev.detail.from > ev.detail.to) {
            this.fieldList.splice(ev.detail.to, 0, this.fieldList[ev.detail.from]);
            this.fieldList.splice(ev.detail.from + 1, 1);
        }
        ev.detail.complete();
    } catch (e) {
        return;
    }
}

clipboard.png
customEvent继承自Event,添加了detail属性,包含from,to,complete,分别记录拖拽条目的前后index,complete方法需在拖拽结束后调用,否则会卡住。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101149.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux安装mysql5.7 tar包(centos7搭建mysql)

    之前用的rpm安装的每次安装都是最新的,,,导致每次版本不统一。。。现在用tar包安装5.7.22和5.7.20一样的5.7.20之后的和之前的版本还是有点不一样的官网地址https://dev.mysql.com/downloads/mysql/https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html…

  • 物联网架构方案思考「建议收藏」

    物联网架构方案思考「建议收藏」1.前言1.1.系统设计有无通用方案?一般的IT系统,稍微复杂一些,都会存在一个架构。架构在初期可能不觉得有多么重要,但随着业务发展,架构可能成为系统开发的瓶颈,导致无法再迭代下去。不同的系统,会有不同的架构,即使同一个系统,由不同的架构师设计也会有不同的架构。架构不存在正确与否的,只能说在不同的场景,存在优劣之分。如何设计一个系统,此问…

  • list的sublist方法_arraylist用法

    list的sublist方法_arraylist用法/************************************************/List<Object>tempList=lists.subList(2,li

  • invoke方法详解

    invoke方法详解JspFragment.invoke方法是JspFragment最重要的方法,利用这个方法可以控制是否执行和输出标签体的内容、是否迭代执行标签体的内容或对标签体的执行结果进行修改后再输出。例如:在标签处理器中如果没有调用JspFragment.invoke方法,其结果就相当于忽略标签体内容;在标签处理器中重复调用JspFragment.invoke方法,则标签体内容将会被重复执行;若想

  • 劳动节,让我们劳动起来!

    劳动节,让我们劳动起来!

  • 微服务 eureka_变压吸附的原理

    微服务 eureka_变压吸附的原理文章目录前言一、Eureka是什么?二、Eureka是干什么的?1.服务治理三、Eureka原理解析1.总体流程2.读入数据总结前言       随着互联网技术的发展,系统用户量的增长,很多系统都采用了分布式的方式进行部署。这个固然大大提高了系统的性能和可用性,但是分布式部署导致各种服务数量大增,这给我们进行服务治理和运维带来了困扰。一、Eureka是什么?     &nbsp

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号