Skip to content

Commit 68352ed

Browse files
letting vue update dom
1 parent 2f38d3b commit 68352ed

File tree

2 files changed

+60
-1
lines changed

2 files changed

+60
-1
lines changed

examples/Two_Lists_NoClone_If.html

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<!doctype html>
2+
<html class="no-js" lang="">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta http-equiv="x-ua-compatible" content="ie=edge">
6+
<title>Example two lists clone</title>
7+
<meta name="description" content="">
8+
<meta name="viewport" content="width=device-width, initial-scale=1">
9+
10+
<link rel="stylesheet" href="css/main.css">
11+
</head>
12+
<body>
13+
14+
<div id="main">
15+
<h1>Vue Dragable For</h1>
16+
17+
<div class="drag">
18+
<h2>List 1 v-dragable-for</h2>
19+
<div id="list1" class="dragArea" >
20+
<div v-dragable-for="element in list1" options='{"group":{ "name":"people" }}' track-by="$index" v-if="element.id > 2">
21+
{{element.name}} {{$index}}
22+
</div>
23+
</div>
24+
25+
<h2>List 2 v-dragable-for</h2>
26+
<div id="list2" class="dragArea">
27+
<div v-dragable-for="element in list2" options='{"group":"people"}' track-by="$index" v-if="element.id > 3">{{element.name}}</div>
28+
</div>
29+
</div>
30+
31+
<div class="normal">
32+
<h2>List 1 v-for</h2>
33+
<div>
34+
<div v-for="element in list1" track-by="$index">{{element.name}}</div>
35+
</div>
36+
37+
<h2>List 2 v-for</h2>
38+
<div>
39+
<div v-for="element in list2" track-by="$index">{{element.name}}</div>
40+
</div>
41+
</div>
42+
43+
<a href="index.html">See basic example</a>
44+
<a href="Two_Lists.html">See 2 lists example</a>
45+
<a href="Two_Lists_Clone_If.html">See clone v-if element example</a>
46+
47+
<script type="text/javascript" src="..\libs\vue\dist\vue.js"></script>
48+
<script type="text/javascript" src="..\libs\lodash\lodash.js"></script>
49+
<script type="text/javascript" src="..\libs\Sortable\Sortable.js"></script>
50+
<script type="text/javascript" src="src\vuedragablefor.js"></script>
51+
<script type="text/javascript" src="script\complex.js"></script>
52+
53+
</div>
54+
</body>
55+
</html>

src/vuedragablefor.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@
7272
},
7373
onUpdate: function (evt) {
7474
updatePosition(ctx.collection, evt.newIndex, evt.oldIndex);
75+
removeNode(evt.item);
76+
insertNodeAt(evt.from, evt.item, evt.oldIndex)
7577
},
7678
onAdd: function (evt) {
7779
indexes = computeIndexes(_.chain(evt.to.children).filter(function(elt){return elt!==evt.item;}));
@@ -85,7 +87,9 @@
8587
else{
8688
var newIndex = indexes[evt.newIndex];
8789
ctx.collection.splice(newIndex, 0, addElement);
88-
}
90+
}
91+
removeNode(evt.item);
92+
insertNodeAt(evt.from, evt.item, evt.oldIndex)
8993
}
9094
},
9195
onRemove: function (evt) {

0 commit comments

Comments
 (0)