{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\components\\DragSelect\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\components\\DragSelect\\index.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBTb3J0YWJsZSBmcm9tICdzb3J0YWJsZWpzJwoKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdEcmFnU2VsZWN0JywKICBwcm9wczogewogICAgdmFsdWU6IHsKICAgICAgdHlwZTogQXJyYXksCiAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICB9CiAgfSwKICBjb21wdXRlZDogewogICAgc2VsZWN0VmFsOiB7CiAgICAgIGdldCgpIHsKICAgICAgICByZXR1cm4gWy4uLnRoaXMudmFsdWVdCiAgICAgIH0sCiAgICAgIHNldCh2YWwpIHsKICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIFsuLi52YWxdKQogICAgICB9CiAgICB9CiAgfSwKICBtb3VudGVkKCkgewogICAgdGhpcy5zZXRTb3J0KCkKICB9LAogIG1ldGhvZHM6IHsKICAgIHNldFNvcnQoKSB7CiAgICAgIGNvbnN0IGVsID0gdGhpcy4kcmVmcy5kcmFnU2VsZWN0LiRlbC5xdWVyeVNlbGVjdG9yQWxsKCcuZWwtc2VsZWN0X190YWdzID4gc3BhbicpWzBdCiAgICAgIHRoaXMuc29ydGFibGUgPSBTb3J0YWJsZS5jcmVhdGUoZWwsIHsKICAgICAgICBnaG9zdENsYXNzOiAnc29ydGFibGUtZ2hvc3QnLCAvLyBDbGFzcyBuYW1lIGZvciB0aGUgZHJvcCBwbGFjZWhvbGRlciwKICAgICAgICBzZXREYXRhOiBmdW5jdGlvbihkYXRhVHJhbnNmZXIpIHsKICAgICAgICAgIGRhdGFUcmFuc2Zlci5zZXREYXRhKCdUZXh0JywgJycpCiAgICAgICAgICAvLyB0byBhdm9pZCBGaXJlZm94IGJ1ZwogICAgICAgICAgLy8gRGV0YWlsIHNlZSA6IGh0dHBzOi8vZ2l0aHViLmNvbS9SdWJhWGEvU29ydGFibGUvaXNzdWVzLzEwMTIKICAgICAgICB9LAogICAgICAgIG9uRW5kOiBldnQgPT4gewogICAgICAgICAgY29uc3QgdGFyZ2V0Um93ID0gdGhpcy52YWx1ZS5zcGxpY2UoZXZ0Lm9sZEluZGV4LCAxKVswXQogICAgICAgICAgdGhpcy52YWx1ZS5zcGxpY2UoZXZ0Lm5ld0luZGV4LCAwLCB0YXJnZXRSb3cpCiAgICAgICAgfQogICAgICB9KQogICAgfQogIH0KfQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;AAOA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/components/DragSelect","sourcesContent":["<template>\n <el-select ref=\"dragSelect\" v-model=\"selectVal\" v-bind=\"$attrs\" class=\"drag-select\" multiple v-on=\"$listeners\">\n <slot />\n </el-select>\n</template>\n\n<script>\nimport Sortable from 'sortablejs'\n\nexport default {\n name: 'DragSelect',\n props: {\n value: {\n type: Array,\n required: true\n }\n },\n computed: {\n selectVal: {\n get() {\n return [...this.value]\n },\n set(val) {\n this.$emit('input', [...val])\n }\n }\n },\n mounted() {\n this.setSort()\n },\n methods: {\n setSort() {\n const el = this.$refs.dragSelect.$el.querySelectorAll('.el-select__tags > span')[0]\n this.sortable = Sortable.create(el, {\n ghostClass: 'sortable-ghost', // Class name for the drop placeholder,\n setData: function(dataTransfer) {\n dataTransfer.setData('Text', '')\n // to avoid Firefox bug\n // Detail see : https://github.com/RubaXa/Sortable/issues/1012\n },\n onEnd: evt => {\n const targetRow = this.value.splice(evt.oldIndex, 1)[0]\n this.value.splice(evt.newIndex, 0, targetRow)\n }\n })\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.drag-select {\n ::v-deep {\n .sortable-ghost {\n opacity: .8;\n color: #fff !important;\n background: #42b983 !important;\n }\n\n .el-tag {\n cursor: pointer;\n }\n }\n}\n</style>\n"]}]}
|