yarn add vuedraggable
npm i -S vuedraggable
import draggable from 'vuedraggable'
components: {
draggable,
},
<v-list>
<draggable :list="newHeaderList">
<v-list-item v-for="item in newHeaderList" :key="item.value">
<v-list-item-action>
<v-checkbox v-model="item.checked" color="primary"></v-checkbox>
</v-list-item-action>
<v-list-item-title>{{ item.text }}</v-list-item-title>
</v-list-item>
</draggable>
</v-list>
[
{
"checked": true,
"text": "a",
"value": "vin",
"sortable": false,
"width": "100px"
},
{
"checked": true,
"text": "id",
"value": "id",
"width": "100px"
},
{
"checked": true,
"text": "描述",
"value": "description",
"width": "200px"
},
{
"checked": true,
"text": "状态",
"value": "status",
"width": "100px"
},
{
"checked": true,
"text": "级别",
"value": "level",
"width": "80px"
},
{
"checked": true,
"text": "资产",
"value": "asset",
"width": "100px"
},
{
"checked": false,
"text": "车型",
"value": "vehicle",
"width": "150px",
"class": "display-none",
"cellClass": "display-none"
},
{
"checked": false,
"text": "分类",
"value": "type",
"sortable": false,
"width": "200px",
"class": "display-none",
"cellClass": "display-none"
},
{
"checked": false,
"text": "时间",
"value": "date",
"width": "195px",
"class": "display-none",
"cellClass": "display-none"
},
{
"checked": false,
"text": "创建者",
"value": "createUser",
"width": "120px",
"class": "display-none",
"cellClass": "display-none"
},
{
"checked": false,
"text": "更新者",
"value": "updateUser",
"width": "120px",
"class": "display-none",
"cellClass": "display-none"
},
]
npm官网:https://www.npmjs.com/package/vuedraggable
sortablejs官网:https://sortablejs.github.io/Vue.Draggable/#/simple
相关文章:https://juejin.cn/post/6844904062488412173
简单使用:https://github.com/SortableJS/Vue.Draggable/blob/master/example/components/simple.vue