avue的使用
?avue的使用
最近做的項(xiàng)目中接觸到了一個(gè)新的框架感覺很好用所以推薦給大家~~
【簡(jiǎn)介】
Avue.js是基于現(xiàn)有的element-ui庫(kù)進(jìn)行的二次封裝,簡(jiǎn)化一些繁瑣的操作,核心理念為數(shù)據(jù)驅(qū)動(dòng)視圖,主要的組件庫(kù)針對(duì)table表格和form表單場(chǎng)景,同時(shí)衍生出更多企業(yè)常用的組件,達(dá)到高復(fù)用,容易維護(hù)和擴(kuò)展的框架,同時(shí)內(nèi)置了豐富了數(shù)據(jù)展示組件,讓開發(fā)變得更加容易。
官網(wǎng)地址:https://avuejs.com/
github地址:https://github.com/nmxiaowei/avue
這個(gè)簡(jiǎn)直太好用了,一套crud只需要一行代碼就解決啦
1、【npm安裝】
npm i @smallwei/avue -S
1
在min.js頁(yè)面引入下方代碼
import Avue from '@smallwei/avue';
import '@smallwei/avue/lib/index.css';
Vue.use(Avue);
1
2
3
這里提醒大家一下不要忘記安裝 element-ui【官網(wǎng)地址】
【cdn方式】
//在index.html引入avuex的包
avue.min.js為壓縮混淆包
avue.js為沒有壓縮混淆的包
<link rel="stylesheet" href="/lib/index.css" />
<script src="/lib/avue.min.js"></script>
//在main.js中使用
Vue.use(window.AVUE);
1
2
3
4
5
6
7
8
下面是一個(gè)簡(jiǎn)單地crud
<template>
? <div>
? ? <avue-crud :data="data" :option="option" v-model="obj"
? ? ? ? ? ? ? ?@row-del="rowDel" @row-save="handleRowSave"
? ? ? ? ? ? ? ?@row-update="handleRowUpdate"></avue-crud>
? </div>
</template>
<script>
? export default {
? ? data() {
? ? ? return {
? ? ? ? obj:{},
? ? ? ? data: [{
? ? ? ? ? ? name:'張三',
? ? ? ? ? ? sex:'男',
? ? ? ? ? ? date:'1994-02-23 00:00:00'
? ? ? ? ? }, {
? ? ? ? ? ? name:'李四',
? ? ? ? ? ? sex:'女',
? ? ? ? ? ? date:'1994-02-23 00:00:00'
? ? ? ? ? }, {
? ? ? ? ? ? name:'王五',
? ? ? ? ? ? sex:'女',
? ? ? ? ? ? date:'1994-02-23 00:00:00'
? ? ? ? ? }, {
? ? ? ? ? ? name:'趙六',
? ? ? ? ? ? sex:'男',
? ? ? ? ? ? date:'1994-02-23 00:00:00'
? ? ? ? ? }],
? ? ? ? option:{
? ? ? ? ? title:'表格的標(biāo)題',
? ? ? ? ? page:false,
? ? ? ? ? align:'center',
? ? ? ? ? menuAlign:'center',
? ? ? ? ? column:[
? ? ? ? ? ? {
? ? ? ? ? ? ? label:'姓名',
? ? ? ? ? ? ? prop:'name'
? ? ? ? ? ? },
? ? ? ? ? ? {
? ? ? ? ? ? ? label:'性別',
? ? ? ? ? ? ? prop:'sex'
? ? ? ? ? ? },{
? ? ? ? ? ? ? label: "日期",
? ? ? ? ? ? ? prop: "date",
? ? ? ? ? ? ? type: "date",
? ? ? ? ? ? ? format: "yyyy-MM-dd hh:mm:ss",
? ? ? ? ? ? ? valueFormat: "yyyy-MM-dd hh:mm:ss",
? ? ? ? ? ? }
? ? ? ? ? ]
? ? ? ? }
? ? ? }
? ? },
? ? methods: {
? ? ? // 增加按鈕
? ? ? handleRowSave(row,done,loading) {
? ? ? ? this.data.splice(0, 0, row);
? ? ? ? done(); ?// 關(guān)閉表單
? ? ? ? loading(); // 按鈕停止加載
? ? ? },
? ? ? // 修改按鈕
? ? ? handleRowUpdate(row,index,done,loading) {
? ? ? ? this.data.splice(index, 1, row);
? ? ? ? done(); ?// 關(guān)閉表單
? ? ? ? loading(); // 按鈕停止加載
? ? ? },
? ? ? // 刪除按鈕
? ? ? rowDel(row, index) {
? ? ? ? this.$confirm('是否刪除該條信息?', '提示', {
? ? ? ? ? confirmButtonText: '確定',
? ? ? ? ? cancelButtonText: '取消',
? ? ? ? ? type: 'warning'
? ? ? ? }).then(() => {
? ? ? ? ? this.data.splice(index, 1);
? ? ? ? });
? ? ? },
? ? },
? }
</script>
?
總結(jié)
- 上一篇: AVUE
- 下一篇: NUXT 入门第一课: 关于 Nuxt.