|
|
@@ -72,6 +72,8 @@ export class SeatingPlanPageViewModel{
|
|
|
}
|
|
|
}
|
|
|
]
|
|
|
+ // 拖拽结束了吗
|
|
|
+ isDragEnd: boolean = true
|
|
|
|
|
|
constructor(conText: UIContext) {
|
|
|
this.safeTop = AppStorage.get(YTAvoid.SAFE_TOP_KEY) as number
|
|
|
@@ -109,6 +111,7 @@ export class SeatingPlanPageViewModel{
|
|
|
* @param value 接收到的学生
|
|
|
*/
|
|
|
_onDrag(seat: string[], x : number, y : number, value: string){
|
|
|
+ this.isDragEnd = true
|
|
|
let arr = [...seat]
|
|
|
|
|
|
// 原位置上有学生
|
|
|
@@ -129,11 +132,9 @@ export class SeatingPlanPageViewModel{
|
|
|
* @param event 拖拽事件传递的事件参数
|
|
|
*/
|
|
|
_onDragEnd(event: DragEvent){
|
|
|
- // onDragEnd里取到的result值在接收方onDrop设置
|
|
|
- if (event.getResult() === DragResult.DRAG_SUCCESSFUL) {
|
|
|
-
|
|
|
- } else if (event.getResult() === DragResult.DRAG_FAILED) {
|
|
|
- // 拖拽结束 - 没有在接收方接收到数据, 撤销本次操作
|
|
|
+ // 1. 拖拽失败 - 没有在接收方接收到数据, 撤销本次操作
|
|
|
+ // 2. 拖拽成功 - 但是数据接收是系统控件接收,数据源并没有发生变化, 撤销本次操作
|
|
|
+ if (event.getResult() === DragResult.DRAG_FAILED || !this.isDragEnd) {
|
|
|
this._onUndo()
|
|
|
}
|
|
|
}
|