diff --git a/packages/index.js b/packages/index.js
index 8ff0386..09a8f67 100644
--- a/packages/index.js
+++ b/packages/index.js
@@ -1,6 +1,9 @@
+import Vue from 'vue';
+import ElImageViewer from './upload/image-viewer';
+
let components = {};
-const componentsFiles = require.context('./', true, /\.vue/);
+const componentsFiles = require.context('./', true, /index\.vue/);
componentsFiles.keys().forEach(path => {
const component = componentsFiles(path);
components[component.default.name] = component.default;
@@ -33,8 +36,30 @@ const install = function(Vue, opts = {}) {
// 将每个子组件注册为全局组件
Vue.component(name, component);
});
+ ElImageViewer.install = function(Vue) {
+ Vue.component(ElImageViewer.name, ElImageViewer);
+ };
+ Vue.component(ElImageViewer.name, ElImageViewer);
};
+const _ImageViewer = function({ index, src, list }) {
+ const ImageViewer = Vue.extend(ElImageViewer);
+ const instance = new ImageViewer({ el: document.createElement('div') });
+ Object.assign(instance, {
+ index: src ? list.findIndex(url => url === src) : index,
+ urlList: list,
+ onClose() {
+ instance.$el.className = `${instance.$el.className} viewer-fade-leave-active viewer-fade-leave-to`;
+ setTimeout(function() {
+ document.body.removeChild(instance.$el);
+ }, 300);
+ },
+ });
+ document.body.appendChild(instance.$el);
+};
+
+export const ImageViewer = _ImageViewer;
+
export default {
install,
...components,
diff --git a/packages/upload/image-viewer.vue b/packages/upload/image-viewer.vue
index 4048a9a..52b5456 100644
--- a/packages/upload/image-viewer.vue
+++ b/packages/upload/image-viewer.vue
@@ -26,7 +26,7 @@
- {{ index + 1 }} / {{ urlList.length }}
+ {{ index + 1 }} / {{ urlList.length }}
@@ -67,7 +67,7 @@ const Mode = {
const mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel';
export default {
- name: 'elImageViewer',
+ name: 'ElImageViewer',
props: {
urlList: {
@@ -329,4 +329,9 @@ export default {
cursor: grabbing;
}
}
+.el-image-viewer__indicator {
+ min-width: 60px;
+ text-align: center;
+ font-size: 14px;
+}
diff --git a/packages/upload/index.vue b/packages/upload/index.vue
index d82d6bc..4d2a6b2 100644
--- a/packages/upload/index.vue
+++ b/packages/upload/index.vue
@@ -6,6 +6,7 @@