zoukankan      html  css  js  c++  java
  • nuxt中iview按需加载配置

    在plugins/iview.js中修改

    初始代码如下

    import Vue from 'vue'
    import iView from 'iview'
    import locale from 'iview/dist/locale/en-US' // Change locale, check node_modules/iview/dist/locale
    
    Vue.use(iView, {
      locale
    })

    修改成如下代码

    import Vue from 'vue'
    import './iview-ui.less'
    
    import {
      Alert,
      AutoComplete,
      Avatar,
      BackTop,
      Badge,
      Breadcrumb,
      BreadcrumbItem,
      Button,
      ButtonGroup,
      Card,
      Carousel,
      CarouselItem,
      Cascader,
      Checkbox,
      CheckboxGroup,
      Circle,
      Col,
      Collapse,
      ColorPicker,
      Content,
      DatePicker,
      Divider,
      Drawer,
      Dropdown,
      DropdownItem,
      DropdownMenu,
      Footer,
      Form,
      FormItem,
      Header,
      Icon,
      Input,
      InputNumber,
      Scroll,
      Sider,
      Submenu,
      Layout,
      LoadingBar,
      Menu,
      MenuGroup,
      MenuItem,
      Message,
      Modal,
      Notice,
      Option,
      OptionGroup,
      Page,
      Panel,
      Poptip,
      Progress,
      Radio,
      RadioGroup,
      Rate,
      Row,
      Select,
      Slider,
      Spin,
      Step,
      Steps,
      Switch,
      Table,
      Tabs,
      TabPane,
      Tag,
      Timeline,
      TimelineItem,
      TimePicker,
      Tooltip,
      Transfer,
      Tree,
      Upload
    } from 'iview'
    // iview基础模块
    const components = {
      Alert,
      AutoComplete,
      Avatar,
      BackTop,
      Badge,
      Breadcrumb,
      BreadcrumbItem,
      Button,
      ButtonGroup,
      Card,
      Carousel,
      CarouselItem,
      Cascader,
      Checkbox,
      CheckboxGroup,
      Col,
      Collapse,
      ColorPicker,
      Content,
      DatePicker,
      Divider,
      Drawer,
      Dropdown,
      DropdownItem,
      DropdownMenu,
      Footer,
      Form,
      FormItem,
      Header,
      Icon,
      Input,
      InputNumber,
      Scroll,
      Sider,
      Submenu,
      Layout,
      LoadingBar,
      Menu,
      MenuGroup,
      MenuItem,
      Message,
      Modal,
      Notice,
      Option,
      OptionGroup,
      Page,
      Panel,
      Poptip,
      Progress,
      Radio,
      RadioGroup,
      Rate,
      Row,
      Select,
      Slider,
      Spin,
      Step,
      Steps,
      Table,
      Tabs,
      TabPane,
      Tag,
      Timeline,
      TimelineItem,
      TimePicker,
      Tooltip,
      Transfer,
      Tree,
      Upload
    }
    
    const iviewModule = {
      ...components,
      // 不能和html标签重复的组件,添加别名(除了Switch、Circle在使用中必须是iSwitch、iCircle,其他都可以不加"i")
      iButton: Button,
      iCircle: Circle,
      iCol: Col,
      iContent: Content,
      iForm: Form,
      iFooter: Footer,
      iHeader: Header,
      iInput: Input,
      iMenu: Menu,
      iOption: Option,
      iProgress: Progress,
      iSelect: Select,
      iSwitch: Switch,
      iTable: Table
    }
    // 循环注册全局组件
    Object.keys(iviewModule).forEach(key => {
      Vue.component(key, iviewModule[key])
    })
    
    // 将iview模块挂载到vue对象上去
    Vue.prototype.$Loading = LoadingBar
    Vue.prototype.$Message = Message
    Vue.prototype.$Modal = Modal
    Vue.prototype.$Notice = Notice
    Vue.prototype.$Spin = Spin
  • 相关阅读:
    qt忙等与非忙等
    获得文件路径 _pgmptr, _makepath, _splitpath
    RGB2YCbCr RGB2Gray
    qt Cannot connect creator comm socket /tmp/qt_temp.S26613/stub-socket: No such
    64位Ubuntu系统安装OpenCV 2.4.x+ffmpeg 完美解决方案
    vim按下ctrl+s僵死
    win32程序应用mfc库
    error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义
    JavaScript中的浅拷贝和深拷贝
    Set和Map
  • 原文地址:https://www.cnblogs.com/ToBeBest/p/11696800.html
Copyright © 2011-2022 走看看