Vue初体验之Element的使用

栏目: JavaScript · 发布时间: 7年前

内容简介:1、安装项目。为了快捷的操作,这里还是使用命令行来创建项目。2、

1、安装 vue-cli ,推荐在当前项目全局安装,同时确保vue ui正常使用。

npm install -g @vue/cli && vue ui
# OR yarn安装会更快
yarn global add @vue/cli && vue ui
复制代码
Vue初体验之Element的使用
使用 yarn 安装完之后会自动启动 GUI ,也就是在图形界面下创建 vue

项目。为了快捷的操作,这里还是使用命令行来创建项目。

2、 windows 使用cmd或是其它命令行 工具 创建 Vue 项目,我这里使用的是 cmder

vue create my-project
复制代码
Vue初体验之Element的使用

进行默认配置或是自定义配置,配置完成后自动安装依赖文件。

Vue初体验之Element的使用
Vue初体验之Element的使用
Vue初体验之Element的使用

3、进入项目,运行命令行,在浏览器打开提供的端口就可以启动这个服务了。

cd my-project
yarn serve
复制代码
Vue初体验之Element的使用
Vue初体验之Element的使用
4、安装 element-uimy-project

的项目里,等待片刻。

yarn add element-ui
复制代码
Vue初体验之Element的使用
main.js

中写入以下内容,根据实际情况删减。

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);
复制代码

5、我们以 element-ui 官网的组件按钮样式为例,在要引用的文件中插入以下内容。

Vue初体验之Element的使用
<el-row>
  <el-button>默认按钮</el-button>
  <el-button type="primary">主要按钮</el-button>
  <el-button type="success">成功按钮</el-button>
  <el-button type="info">信息按钮</el-button>
  <el-button type="warning">警告按钮</el-button>
  <el-button type="danger">危险按钮</el-button>
</el-row>
复制代码

现在重新执行命令行 yarn serve ,刷新页面。

Vue初体验之Element的使用
6、接下来再以 element-ui

官网的组件Cascader级联选择器样式为例,在要引用的文件中插入以下内容。

Vue初体验之Element的使用
// 引用的页面中
<div class="block">
  <span class="demonstration">默认 click 触发子菜单</span>
  <el-cascader
    :options="options"
    v-model="selectedOptions">
  </el-cascader>
</div>
// 引用页面的script标签内
<script>
  export default {
    data() {
      return {
        options: [{
          value: 'zhinan',
          label: '指南',
          children: [{
            value: 'shejiyuanze',
            label: '设计原则',
            children: [{
              value: 'yizhi',
              label: '一致'
            }, {
              value: 'fankui',
              label: '反馈'
            }, {
              value: 'xiaolv',
              label: '效率'
            }, {
              value: 'kekong',
              label: '可控'
            }]
          }, {
            value: 'daohang',
            label: '导航',
            children: [{
              value: 'cexiangdaohang',
              label: '侧向导航'
            }, {
              value: 'dingbudaohang',
              label: '顶部导航'
            }]
          }]
        }, {
          value: 'zujian',
          label: '组件',
          children: [{
            value: 'basic',
            label: 'Basic',
            children: [{
              value: 'layout',
              label: 'Layout 布局'
            }, {
              value: 'color',
              label: 'Color 色彩'
            }, {
              value: 'typography',
              label: 'Typography 字体'
            }, {
              value: 'icon',
              label: 'Icon 图标'
            }, {
              value: 'button',
              label: 'Button 按钮'
            }]
          }, {
            value: 'form',
            label: 'Form',
            children: [{
              value: 'radio',
              label: 'Radio 单选框'
            }, {
              value: 'checkbox',
              label: 'Checkbox 多选框'
            }, {
              value: 'input',
              label: 'Input 输入框'
            }, {
              value: 'input-number',
              label: 'InputNumber 计数器'
            }, {
              value: 'select',
              label: 'Select 选择器'
            }, {
              value: 'cascader',
              label: 'Cascader 级联选择器'
            }, {
              value: 'switch',
              label: 'Switch 开关'
            }, {
              value: 'slider',
              label: 'Slider 滑块'
            }, {
              value: 'time-picker',
              label: 'TimePicker 时间选择器'
            }, {
              value: 'date-picker',
              label: 'DatePicker 日期选择器'
            }, {
              value: 'datetime-picker',
              label: 'DateTimePicker 日期时间选择器'
            }, {
              value: 'upload',
              label: 'Upload 上传'
            }, {
              value: 'rate',
              label: 'Rate 评分'
            }, {
              value: 'form',
              label: 'Form 表单'
            }]
          }, {
            value: 'data',
            label: 'Data',
            children: [{
              value: 'table',
              label: 'Table 表格'
            }, {
              value: 'tag',
              label: 'Tag 标签'
            }, {
              value: 'progress',
              label: 'Progress 进度条'
            }, {
              value: 'tree',
              label: 'Tree 树形控件'
            }, {
              value: 'pagination',
              label: 'Pagination 分页'
            }, {
              value: 'badge',
              label: 'Badge 标记'
            }]
          }, {
            value: 'notice',
            label: 'Notice',
            children: [{
              value: 'alert',
              label: 'Alert 警告'
            }, {
              value: 'loading',
              label: 'Loading 加载'
            }, {
              value: 'message',
              label: 'Message 消息提示'
            }, {
              value: 'message-box',
              label: 'MessageBox 弹框'
            }, {
              value: 'notification',
              label: 'Notification 通知'
            }]
          }, {
            value: 'navigation',
            label: 'Navigation',
            children: [{
              value: 'menu',
              label: 'NavMenu 导航菜单'
            }, {
              value: 'tabs',
              label: 'Tabs 标签页'
            }, {
              value: 'breadcrumb',
              label: 'Breadcrumb 面包屑'
            }, {
              value: 'dropdown',
              label: 'Dropdown 下拉菜单'
            }, {
              value: 'steps',
              label: 'Steps 步骤条'
            }]
          }, {
            value: 'others',
            label: 'Others',
            children: [{
              value: 'dialog',
              label: 'Dialog 对话框'
            }, {
              value: 'tooltip',
              label: 'Tooltip 文字提示'
            }, {
              value: 'popover',
              label: 'Popover 弹出框'
            }, {
              value: 'card',
              label: 'Card 卡片'
            }, {
              value: 'carousel',
              label: 'Carousel 走马灯'
            }, {
              value: 'collapse',
              label: 'Collapse 折叠面板'
            }]
          }]
        }, {
          value: 'ziyuan',
          label: '资源',
          children: [{
            value: 'axure',
            label: 'Axure Components'
          }, {
            value: 'sketch',
            label: 'Sketch Templates'
          }, {
            value: 'jiaohu',
            label: '组件交互文档'
          }]
        }],
        selectedOptions: [],
        selectedOptions2: []
      };
    }
  };
</script>
复制代码

成功了有木有!

Vue初体验之Element的使用
7、再以 element-ui

官网的组件日历样式为例,在要引用的文件中插入以下内容。

Vue初体验之Element的使用
// 引用的页面中
<div class="block">
    <span class="demonstration">默认</span>
    <el-date-picker
      v-model="value1"
      type="date"
      placeholder="选择日期">
    </el-date-picker>
  </div>
  <div class="block">
    <span class="demonstration">带快捷选项</span>
    <el-date-picker
      v-model="value2"
      align="right"
      type="date"
      placeholder="选择日期"
      :picker-options="pickerOptions1">
    </el-date-picker>
  </div>
  // 引用页面的script标签内,直接复制到前面的data里面
  pickerOptions1: {
          disabledDate(time) {
            return time.getTime() > Date.now();
          },
          shortcuts: [{
            text: '今天',
            onClick(picker) {
              picker.$emit('pick', new Date());
            }
          }, {
            text: '昨天',
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() - 3600 * 1000 * 24);
              picker.$emit('pick', date);
            }
          }, {
            text: '一周前',
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
              picker.$emit('pick', date);
            }
          }]
        },
        value1: '',
        value2: '',
复制代码
Vue初体验之Element的使用
总结:安装-->复制代码-->运行,相当于是Vue中的“ bootstrap

”,根据自己项目的时间情况进行一点调整就可以用了。

现在有个问题,如果我们需要自定义主题呢?毕竟好看的东西都是千篇一律,没有一些个性也是难免会看腻的。这里可以通过安装 element-theme 进行主题的自定义设置。

1、首先还是使用命令行在项目里全局安装 element-theme

yarn global add element-theme 
复制代码
Vue初体验之Element的使用
Vue初体验之Element的使用
2、然后安装主题生成工具 element-theme-chalk

yarn add element-theme-chalk --dev
复制代码

主题生成工具安装完成后,全局安装的话可以通过命令行 et 调用工具。命令行 et -i 可在当前目录生成一个文件 element-variables.scss 。这里就可以直接引用了

Vue初体验之Element的使用
Vue初体验之Element的使用
3、当然也可以使用命令行 et 编译主题,进行更深层次的主题定制。之后会生成一个主题目录 theme ,包含很多编译好的 css 文件,可以只留下 index.css

文件。

Vue初体验之Element的使用
main.js 文件中引入的 index.css 改成 theme 目录下的 index.css

import '../theme/index.css'
复制代码

4、现在我们尝试下修改前面生成的文件样式, element-variables.scss ,修改 $--color-primary: #409EFF !default; 的颜色为黑色。记得修改完后要用命令行 et 进行编译。

原来的颜色:

Vue初体验之Element的使用

修改编译后的颜色:

Vue初体验之Element的使用
5、使用命令行 et -w 可以实时监听文件 element-variables.scss

的变化,自动编译。

总结:安装主题 element-theme -->安装主题生成工具 element-theme-chalk -->命令行 et -i 生成 element-variables.scss 文件-->命令行 et 编译生成 theme 目录-->修改引入 index.css 路径-->命令行 et -w 监听 element-variables.scss 文件的变化,自动编译


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件框架设计的艺术

软件框架设计的艺术

[捷] Jaroslav Tulach / 王磊、朱兴 / 人民邮电出版社 / 2011-3 / 75.00元

本书帮助你解决API 设计方面的问题,共分3 个部分,分别指出学习API 设计是需要进行科学的训练的、Java 语言在设计方面的理论及设计和维护API 时的常见情况,并提供了各种技巧来解决相应的问题。 本书作者是NetBeans 的创始人,也是NetBeans 项目最初的架构师。相信在API 设计中遇到问题时,本书将不可或缺。 本书适用于软件设计人员阅读。一起来看看 《软件框架设计的艺术》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具