|
|
|
@ -12,7 +12,7 @@ |
|
|
|
|
<transition-group class="draggable-item" type="transition" :name="'flip-list'"> |
|
|
|
|
<div |
|
|
|
|
v-for="(item, index) in selectedItems" |
|
|
|
|
:key="item.file_id" |
|
|
|
|
:key="item.file_id>0?item.file_id:index" |
|
|
|
|
class="file-item" |
|
|
|
|
:style="{ width: `${width}px`, height: `${width}px` }" |
|
|
|
|
> |
|
|
|
@ -77,7 +77,8 @@ export default { |
|
|
|
|
// 默认选中的文件 |
|
|
|
|
defaultList: PropTypes.array.def([]), |
|
|
|
|
// 元素的尺寸(宽) |
|
|
|
|
width: PropTypes.integer.def(80) |
|
|
|
|
width: PropTypes.integer.def(80), |
|
|
|
|
source: PropTypes.any.def(0) |
|
|
|
|
}, |
|
|
|
|
data () { |
|
|
|
|
return { |
|
|
|
@ -94,6 +95,7 @@ export default { |
|
|
|
|
immediate: true, |
|
|
|
|
handler (val) { |
|
|
|
|
const { selectedItems, allowProps } = this |
|
|
|
|
console.log(selectedItems) |
|
|
|
|
if (val.length && !selectedItems.length && allowProps) { |
|
|
|
|
this.selectedItems = cloneDeep(val) |
|
|
|
|
this.onChange() |
|
|
|
@ -140,10 +142,18 @@ export default { |
|
|
|
|
if (selectedItems.length <= 0) { |
|
|
|
|
return this.$emit('change', multiple ? [] : 0) |
|
|
|
|
} |
|
|
|
|
// 生成fileId |
|
|
|
|
const fileId = multiple ? selectedItems.map(item => item.file_id) : selectedItems[0].file_id |
|
|
|
|
// 触发change事件 |
|
|
|
|
return this.$emit('change', fileId, selectedItems) |
|
|
|
|
// 生成fileId |
|
|
|
|
if (this.source == 1) { |
|
|
|
|
let fileId = [] |
|
|
|
|
const list = multiple ? selectedItems.map(item => item) : selectedItems[0].file_id |
|
|
|
|
list.forEach(function (item) { |
|
|
|
|
fileId.push({ file_id: item.file_id, preview_url: item.preview_url }) |
|
|
|
|
}) |
|
|
|
|
return this.$emit('change', fileId, selectedItems) |
|
|
|
|
} else { |
|
|
|
|
const fileId = multiple ? selectedItems.map(item => item.file_id) : selectedItems[0].file_id |
|
|
|
|
return this.$emit('change', fileId, selectedItems) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|