import Code from './code' import Confirm from './confirm' import Detail from './detail' import DistPicker from './dist-picker' import Editor from './editor' import FileUpload from './file-upload' import Form from './form' import ImageUpload from './Image-upload' import ImageUploadMultiple from './Image-upload/multiple' import ImageView from './image-view' import KeywordInput from './keyword-input' import RadioGroup from './radio-group' import Scheme from './scheme' import Search from './search' import Select from './select' import StatusIndicator from './status-indicator' import SwitchButton from './switch-button' import Table from './table' import TreeSelect from './tree-select' const components = { Code, Confirm, Detail, DistPicker, Editor, FileUpload, Form, ImageUpload, ImageUploadMultiple, ImageView, KeywordInput, RadioGroup, Scheme, Search, Select, StatusIndicator, SwitchButton, Table, TreeSelect } // 给组件库配置install方法 const install = function (Vue, opts = {}) { Object.values(components).forEach(component => { // 组件前缀 const prefix = opts.name || 'eagle'; // 配置组件名称 const name = prefix + component.name component.name = name const defaultI18n = () => undefined; if (component.computed) { component.computed.prefix = () => { return prefix }; } else { component.computed = { prefix: () => { return prefix } } } if (component.methods) { component.methods.i18n = opts.i18n || defaultI18n; } else { component.methods = { i18n: opts.i18n || defaultI18n } } // 给每个子组件配置install方法 component.install = function (Vue) { Vue.component(name, component) } // 将每个子组件注册为全局组件 Vue.component(name, component) }) } export default { install, ...components }