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方法需在拖拽结束后调用,否则会卡住。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • substring字符串截取

    substring字符串截取字符串截取:1取字符串的前i个字符str=str.substring(0,i);2去掉字符串的前i个字符str=str.substring(i);3从右边开始取i个字符str=str.substring(str.length()-i);str=str.substring(str.length()-i,str.length());4从右边开始去掉i个字符str=str.substring(0,str.Length-i);5从开始截取到中间某个指定

    2022年5月23日
    64
  • CSDN专属idea插件上线啦~~

    CSDN专属idea插件上线啦~~1.插件介绍CSDN的idea插件CSDNtools(以下简称tools),tools整合了日常开发中常用的工具,一站式工具集。json格式化 时间格式化 ip查询 计算器 CSDN平台搜索 github仓库搜索 maven仓库依赖搜索 常用文档检索 单词翻译 看新闻2.安装方法idea页面File–>Settings–>Plugins在Marketplace搜索csdn,选择下载安装。如图3.使用方法ctrl+shift+I唤起插件 Tool

    2022年5月30日
    45
  • 游戏建模学习经验分享

    游戏建模学习经验分享最近通过很多师弟的交流,我发现游戏建模初学者大多存在三个大问题,一是工具的使用不够熟练,甚至有些功能还不知道,二是对布线的规范没有太大的要求和了解,三是对游戏制作流程不清晰和板绘下的功力不够,对贴图制作用工少,甚至有些人还处于一直做白膜的阶段,那么对大多说想要要学游戏建模的学习者想要学什么:低模,高模制作,贴图材质,动作特效。毕竟很多人学的并没有那么快,建模实质就是孰能生巧,做的东西多了,遇到问题多了,解决之后就会学的更多。今天就跟大家聊一聊目前我遇到新手关于建模方面的问题。1:工具使用不熟练很多师

    2022年5月19日
    39
  • VS2010安装离线MSDN「建议收藏」

    VS2010正式版不再有单独的MSDNLibrary安装选项,以至于很多同学找不到本地的MSDNLibrary来用,其实VS2010的ISO安装光盘里已经包含有MSDNLibrary,只不过要手动安装,方法如下:1、安装完VS2010后,在开始菜单中打开MicrosoftVisualStudio2010-VisualStudioTools–ManageHelpSet

    2022年4月7日
    141
  • javastream流详解_Java获取文件流的所有方式

    javastream流详解_Java获取文件流的所有方式一、Stream流引入Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库既有的鼻端。(Lambda表达式详解在上篇博客内容)现有一个需求:将list集合中姓张的元素过滤到一个新的集合中然后将过滤出来的姓张的元素中,再过滤出来长度为3的元素,存储到一个新的集合中1.用常规方法解决需求/…

    2022年10月6日
    0
  • Android布局详解:FrameLayout[通俗易懂]

    Android布局详解:FrameLayout[通俗易懂]后来也一直没有再回头看,再后来,看到评论多是负面的,也就心懒了,这个系列就没再写下去了。今天重新把文章修改一下。完全没有错不敢说,只是把当年漏写的一些内容再补进去吧。评论不删不改,大家自己看吧。我写的文章,基本都是面向新手的,所以没有很多高深的玩法(我自己也不擅长啦,我也不是高手)。所以新手看我的文章,入门即可,高深的内容不在我这里,我的庙小,装不下大神。再版修正说明:首先

    2022年6月2日
    80

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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