Vue:在项目中引入第三方UI组件库——饿了吗Element UI组件库和ATUI组件库
1、引入Element组件库:首先我们使用npm的方式安装:它能更好地和webpack打包工具配合使用。npm i element-ui -S然后我们在使用样式的页面引入样式和组件库即可:<!-- 引入样式 --><link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-cha...
1、引入Element组件库:
首先我们使用npm的方式安装:它能更好地和 webpack 打包工具配合使用。
npm i element-ui -S
然后我们在使用样式的页面引入样式和组件库即可:
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
在实际的项目中看更加直观:
<template>
<div id="vue">
<meta charset="utf-8">
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<div id="components-demo">
<el-button type="primary">主要按钮</el-button>
</div>
</div>
</template>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script type="text/javascript">
export default {
components: {
},
data () {
// 注意:data即使不需要传数据,也必须return,否则会报错
return {
}
},
methods: {
// 按钮上可以绑定方法
}
}
</script>
<style type='text/css'>
</style>
参考文档:https://element.eleme.cn/#/zh-CN/component/button
别人的方法:
引入饿了吗组件(ElementUI):
1、打开cmd 窗口,切换到vue 所在目录,执行如下指令: cnpm i element-ui s
第三步:vue 项目引用ElementUI.,(注意红色字体部分)
src/router/index.js
注意【import 'element-ui/lib/theme-chalk/index.css'】和官网的同步,原来看别人博客上就是这里问题,找了好久
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import HelloVue from '@/components/wangcan/HelloVue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(Router)
Vue.use(ElementUI)
export default new Router({
routes: [
{
path: '/',
name: 'HelloWorld',
component: HelloWorld
},
{
path: '/wangcan',
name: 'HelloVue',
component: HelloVue
}
]
})
然后就可以使用组件库中的样式了~
示例:
<template>
<div id="app">
<!-- <el-button type="primary">主要按钮</el-button>
<el-button type="text">文字按钮</el-button> -->
<!-- 通过 rules 属性传入约定的验证规则,并将 Form-Item 的 prop 属性设置为需校验的字段名即可 -->
<el-form :inline="true" :rules="rules" ref="formInline" :model="formInline" class="demo-form-inline">
<el-form-item label="审批人" prop="user">
<el-input v-model="formInline.user" placeholder="审批人"></el-input>
</el-form-item>
<el-form-item label="活动区域" prop="region">
<el-select clearable v-model="formInline.region" multiple placeholder="活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('formInline')">立即创建</el-button>
<el-button @click="resetForm('formInline')">重置</el-button>
</el-form-item>
</el-form>
<el-button @click="show = !show">点这里查看过渡效果</el-button>
<div style="display: flex; margin-top: 20px; margin-left: 300px; height: 100px;">
<transition name="el-fade-in-linear">
<div v-show="show" class="transition-box">.el-fade-in-linear</div>
</transition>
<transition name="el-fade-in">
<div v-show="show" class="transition-box">.el-fade-in</div>
</transition>
</div>
</div>
</template>
<script type="text/javascript">
export default {
el: '#app',
// 这里需要将模块引出,可在其他地方使用
components: {
},
data () {
// 注意:data即使不需要传数据,也必须return,否则会报错
return {
show: true,
formInline: {
user: '',
region: ''
},
rules: {
user: [
{ required: true, message: '请输入活动名称', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
region: [
{ required: true, message: '请选择活动区域', trigger: 'change' }
]
}
}
},
methods: {
submitForm (formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
alert('submit!')
} else {
alert('error submit!!')
return false
}
})
},
resetForm (formName) {
this.$refs[formName].resetFields()
}
}
}
</script>
<style type='text/css'>
.transition-box {
margin-bottom: 10px;
width: 200px;
height: 100px;
border-radius: 4px;
background-color: #409EFF;
text-align: center;
color: #fff;
padding: 40px 20px;
box-sizing: border-box;
margin-right: 20px;
}
</style>
参考文档:https://blog.csdn.net/tangcv/article/details/82705514
2、引入AliTelecom UI组件库:
ATUI框架也使用npm方式安装:可以通过npm直接安装到项目中,使用import
或 require
进行引用
npm install atui --save
接下来在页面组件上引入Vue和atui:
import Vue from 'vue'
import atui from 'atui'
引入组件库样式
import 'atui/dist/greater-blue.css'
PS:目前支持三套皮肤,greater-blue
,tao-orange
, tmall-red
接下来注册atui组件:
在components:{ }中注册:
components: {
vButton: atui.Button,
vDatePicker: atui.DatePicker
},
可以给使用样式的按钮绑定方法:
methods: {
onClick () {
alert('button click')
}
}
在模板中使用即可:
<div id="app">
<v-button @click.native="onClick">click me</v-button>
<v-date-picker format="yyyy-MM-dd"></v-date-picker>
</div>
完整示例:
<template>
<div id="vue">
<v-button @click.native="onClick">click me</v-button>
<v-date-picker format="yyyy-MM-dd"></v-date-picker>
</div>
</template>
<script type="text/javascript">
// 引入
import Vue from 'vue'
import atui from 'atui'
import 'atui/dist/greater-blue.css'
export default {
components: {
vButton: atui.Button,
vDatePicker: atui.DatePicker
},
data () {
// 注意:data即使不需要传数据,也必须return,否则会报错
return {
}
},
methods: {
onClick () {
alert('button click')
}
}
}
</script>
<style type='text/css'>
</style>
参考文档:https://aliqin.github.io/atui/docs/atui/getting-started
完成效果——上面是elementUI组件库按钮的展示,下面是ATUI组件库按钮:
更多推荐
所有评论(0)