如何实现拖拽时列表项占位动画的效果
解决措施
Grid拖拽时,列表项默认为占位动画效果。具体实现步骤如下:
代码示例
@Entry @Component struct GridExample { @State numbers: String[] = []; scroller: Scroller = new Scroller(); @State text: string = 'drag'; @Builder pixelMapBuilder() { Column() { Text(this.text) .fontSize(16) .backgroundColor(0xF9CF93) .width(80) .height(80) .textAlign(TextAlign.Center) } } aboutToAppear() { for (let i = 1; i <= 15; i++) { this.numbers.push(i + ''); } } changeIndex(index1: number, index2: number) { // 交换数组位置 let temp = this.numbers[index1]; this.numbers[index1] = this.numbers[index2]; this.numbers[index2] = temp; } build() { Column({ space: 5 }) { Grid(this.scroller) { ForEach(this.numbers, (day: string) => { GridItem() { Text(day) .fontSize(16) .backgroundColor(0xF9CF93) .width(80) .height(80) .textAlign(TextAlign.Center) .onTouch((event: TouchEvent) => { if (event.type === TouchType.Up) { this.text = day; } }) } }) } .columnsTemplate('1fr 1fr 1fr') .columnsGap(10) .rowsGap(10) .onScrollIndex((first: number) => { console.info(first.toString()); }) .width('90%') .backgroundColor(0xFAEEE0) .height(300) .editMode(true) // 设置Grid是否进入编辑模式,进入编辑模式可以拖拽Grid组件内部GridItem .onItemDragStart((event: ItemDragInfo, itemIndex: number) => { // 第一次拖拽此事件绑定的组件时,触发回调。 return this.pixelMapBuilder(); //设置拖拽过程中显示的图片。 }) // 绑定此事件的组件可作为拖拽释放目标,当在本组件范围内停止拖拽行为时,触发回调。 .onItemDrop((event: ItemDragInfo, itemIndex: number, insertIndex: number, isSuccess: boolean) => { // itemIndex拖拽起始位置,insertIndex拖拽插入位置 this.changeIndex(itemIndex, insertIndex) }) }.width('100%').margin({ top: 5 }) } }
本文向大家介绍JS HTML5实现拖拽移动列表效果,包括了JS HTML5实现拖拽移动列表效果的使用技巧和注意事项,需要的朋友参考一下 练习HTML5中的拖放API,实现列表拖拽移动!参考文章:JS HTML5拖拽上传图片预览 HTML5拖拽移动列表实现思路: 1.循环设置每个子项的draggable属性,以及设置拖动标记(不会多个或全部子项都移动) 2.每次进入投放区,则检测时候有拖放标记,
本文向大家介绍Vue.Draggable实现拖拽效果,包括了Vue.Draggable实现拖拽效果的使用技巧和注意事项,需要的朋友参考一下 快速实现Vue.Draggable的拖拽效果,供大家参考,具体内容如下 1.下载包:npm install vuedraggable 配置:package.json 2.在你的组件中引进依赖: 3.注册:draggable这个组件 4.使用html模板中使用该
本文向大家介绍vue实现拖拽效果,包括了vue实现拖拽效果的使用技巧和注意事项,需要的朋友参考一下 vue中实现拖拽效果,供大家参考,具体内容如下 首先要搞明白分清clientY pageY screenY layerY offsetY的区别 作用3(事件对象中记录的鼠标位置) 语法 解释 evt.screenX 相对于屏幕的左上角为原点 evt.screenY evt.clientX 相对于浏览
本文向大家介绍BootStrap table实现表格行拖拽效果,包括了BootStrap table实现表格行拖拽效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了BootStrap table实现表格行拖拽的具体代码,供大家参考,具体内容如下 不上图了 首先还是得添加三个文件,自己上网搜搜就行 前台,加在Bootstrap Table 属性里面 后台代码Controller
本文向大家介绍vue.draggable实现表格拖拽排序效果,包括了vue.draggable实现表格拖拽排序效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了vue.draggable实现表格拖拽排序效果展示的具体代码,供大家参考,具体内容如下 主要使用vuedraggable和sortablejs两个组件。 1、安装组件 2、引入组件 3、HTML 我的例子是给表格排序,项目整
本文向大家介绍JS实现盒子拖拽效果,包括了JS实现盒子拖拽效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JS实现盒子拖拽效果的具体代码,供大家参考,具体内容如下 效果: html代码: css代码: js代码: 关于事件的用法,官方用到了object.addEventListener("dragover", myScript)和event.target.id 以上就是本文的全部