Vue 实现 增删改查

2018-06-13  本文已影响35人  Leonzai

Demo 地址 https://leonzai.github.io/vue-curd.html

|  | <!doctype html> |
|  | <html lang="en" class=""> |
|  | <head> |
|  | <meta charset="UTF-8"> |
|  | <meta name="viewport" |
|  | content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> |
|  | <meta http-equiv="X-UA-Compatible" content="ie=edge"> |
|  | <link rel="stylesheet" href="[https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css](https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css)"> |
|  | <script src="[https://cdn.jsdelivr.net/npm/sweetalert2](https://cdn.jsdelivr.net/npm/sweetalert2)"></script> |
|  | <script src="[https://vuejs.org/js/vue.js](https://vuejs.org/js/vue.js)"></script> |
|  | <script src="[https://unpkg.com/axios/dist/axios.min.js](https://unpkg.com/axios/dist/axios.min.js)"></script> |
|  | <title>Vue 实现增删改查</title> |
|  | <style> |
|  | .flash { |
|  | width: 14rem; |
|  | /*width: auto;*/ |
|  | max-width: 21rem; |
|  | font-size: 1rem; |
|  | background: grey; |
|  | word-wrap: break-word; |
|  | padding: 1rem 0.7rem; |
|  | border-radius: 0.7rem; |
|  | margin: 0.7rem; |
|  | opacity: 0.8; |
|  | color: white; |
|  | z-index: 999; |
|  | text-align: center; |
|  | position: absolute; |
|  | top: 0; |
|  | right: 0; |
|  | animation: flash 5s forwards; |
|  | -moz-animation: flash 5s forwards; /* Firefox */ |
|  | -webkit-animation: flash 5s forwards; /* Safari and Chrome */ |
|  | -o-animation: flash 5s forwards; /* Opera */ |
|  | } |
|  | 
 |
|  | @keyframes flash { |
|  | 0% { |
|  | opacity: 1; |
|  | } |
|  | 75% { |
|  | opacity: 1; |
|  | } |
|  | 100% { |
|  | opacity: 0; |
|  | } |
|  | } |
|  | 
 |
|  | @-moz-keyframes flash /* Firefox */ |
|  | { |
|  | 0% { |
|  | opacity: 1; |
|  | } |
|  | 75% { |
|  | opacity: 1; |
|  | } |
|  | 100% { |
|  | opacity: 0; |
|  | } |
|  | } |
|  | 
 |
|  | @-webkit-keyframes flash /* Safari and Chrome */ |
|  | { |
|  | 0% { |
|  | opacity: 1; |
|  | } |
|  | 75% { |
|  | opacity: 1; |
|  | } |
|  | 100% { |
|  | opacity: 0; |
|  | } |
|  | } |
|  | 
 |
|  | @-o-keyframes flash /* Opera */ |
|  | { |
|  | 0% { |
|  | opacity: 1; |
|  | } |
|  | 75% { |
|  | opacity: 1; |
|  | } |
|  | 100% { |
|  | opacity: 0; |
|  | } |
|  | } |
|  | 
 |
|  | .modal { |
|  | display: block; |
|  | } |
|  | 
 |
|  | .mask { |
|  | background: #5f5f5f; |
|  | width: 100%; |
|  | height: 100%; |
|  | position: absolute; |
|  | top: 0; |
|  | left: 0; |
|  | z-index: 222; |
|  | opacity: 0.9; |
|  | } |
|  | 
 |
|  | .table { |
|  | color: white; |
|  | } |
|  | 
 |
|  | #app { |
|  | min-height: 640px; |
|  | } |
|  | 
 |
|  | [v-cloak] { |
|  | display: none; |
|  | } |
|  | 
 |
|  | .table td, .table th { |
|  | min-width: 4rem; |
|  | } |
|  | 
 |
|  | .card-body { |
|  | background: url(data:image/jpeg;base64,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) repeat; |
|  | /*background: black;*/ |
|  | background-size: 100%; |
|  | /*opacity: 0.6;*/ |
|  | } |
|  | 
 |
|  | body { |
|  | background-color: #cfcfcf; |
|  | } |
|  | </style> |
|  | </head> |
|  | <body> |
|  | <div class="container"> |
|  | <div class="row" id="app"> |
|  | <curd v-for="item in viewData" :collection="item.collection" :searchfields="item.searchfields" |
|  | :urlroot="item.urlroot"></curd> |
|  | </div> |
|  | </div> |
|  | <div class="flash d-none bg-success" id="flash"> |
|  | 
 |
|  | </div> |
|  | 
 |
|  | <template id='template'> |
|  | <div class="col-12 col-md-6 col-lg-6 my-5"> |
|  | <div class="card"><h3 class="card-header">Vue 实现增删改查</h3> |
|  | <div class="card-body"> |
|  | <div class="input-group"> |
|  | <div class="input-group-prepend"><span class="input-group-text">搜索</span></div> |
|  | <input type="text" @input="query" @focus="query" :list="prompt" class="form-control" |
|  | v-model="sInputText"> |
|  | <datalist :id="prompt"> |
|  | <option v-for="value in aPrompt" :value="value"></option> |
|  | </datalist> |
|  | <div class="input-group-append"> |
|  | <button class="btn btn-success" @click="formDisplay" type="button">新增</button> |
|  | </div> |
|  | </div> |
|  | <table class="table"> |
|  | <thead> |
|  | <tr class="text-primary"> |
|  | <th scope="col">姓名</th> |
|  | <th scope="col">手机号</th> |
|  | <th scope="col">称呼</th> |
|  | <th scope="col">编辑</th> |
|  | </tr> |
|  | </thead> |
|  | <tbody> |
|  | <tr v-for="item in list" :key="item.id"> |
|  | <td>{{ item.name }}</td> |
|  | <td>{{ item.phone }}</td> |
|  | <td>{{ item.call }}</td> |
|  | <td> |
|  | <span @click="edit(item)" class="btn btn-primary btn-sm">编辑</span> |
|  | <span @click="del(item)" class="btn btn-danger btn-sm">删除</span></td> |
|  | </tr> |
|  | </tbody> |
|  | </table> |
|  | <div class="modal" tabindex="-1" v-show="showForm" v-cloak=""> |
|  | <div class="modal-dialog modal-dialog-centered"> |
|  | <div class="modal-content"> |
|  | <div class="modal-header"> |
|  | <h5 class="modal-title"></h5> |
|  | <button type="button" class="close" @click="reset()"> |
|  | <span>×</span></button> |
|  | </div> |
|  | <div class="modal-body"> |
|  | <div class="d-non"> |
|  | <input type="hidden" class="swal2-input" v-model="item.id"> |
|  | <div class="form-group"> |
|  | <label>姓名</label> |
|  | <input type="text" class="form-control" v-model="item.name"></div> |
|  | <div class="form-group"> |
|  | <label>手机号</label> |
|  | <input type="number" class="form-control" v-model="item.phone"></div> |
|  | <div class="form-group"> |
|  | <label>称呼</label> |
|  | <input type="text" class="form-control" v-model="item.call"></div> |
|  | </div> |
|  | </div> |
|  | <div class="modal-footer"> |
|  | <button type="button" class="btn btn-secondary" @click="reset" data-dismiss="modal">关闭 |
|  | </button> |
|  | <button type="button" @click="submit()" class="btn btn-primary">提交</button> |
|  | </div> |
|  | </div> |
|  | </div> |
|  | </div> |
|  | </div> |
|  | </div> |
|  | <div class="mask" v-show="showForm"></div> |
|  | </div> |
|  | </template> |
|  | <script> |
|  | 'use strict'; |
|  | 
 |
|  | 
 |
|  | var curd = { |
|  | props: [ |
|  | 'searchfields', |
|  | 'urlroot', |
|  | 'collection' |
|  | 
 |
|  | ], |
|  | data: function data() { |
|  | return { |
|  | aPrompt: [], |
|  | list: [], |
|  | item: {}, |
|  | sInputText: '', // 搜索框里的 字段 |
|  | showForm: false, |
|  | prompt: 'prompt' + Math.floor(Math.random() * 1000000) |
|  | }; |
|  | }, |
|  | 'template': '#template', |
|  | 
 |
|  | created: function created() { |
|  | this.reset(); |
|  | }, |
|  | methods: { |
|  | // 在搜索为空,增删改时候,需要初始化 |
|  | reset: function reset() { |
|  | this.list = this.collection; |
|  | this.item = {}; |
|  | this.showForm = false; |
|  | this.aPrompt = []; |
|  | this.sInputText = ''; |
|  | }, |
|  | 
 |
|  | // 提交表单,可能是更新,也可能是新增 |
|  | submit: function submit() { |
|  | if (this.item.id) { |
|  | this.update(); |
|  | } else { |
|  | this.store(); |
|  | } |
|  | }, |
|  | 
 |
|  | update: function update() { |
|  | var vm = this; |
|  | var index = vm.getIndexById(vm.item.id); |
|  | // axios.post(urlroot + '/' + item.id, { |
|  | // {{--'_token': '{{ csrf_token() }}',--}} |
|  | // '_method': 'patch', |
|  | // 'data': item |
|  | // }).then(function () { |
|  | vm.collection[index] = vm.item; |
|  | vm.reset(); |
|  | // }).catch(function (error) { |
|  | // alertError(error); |
|  | // }); |
|  | }, |
|  | 
 |
|  | store: function store() { |
|  | var vm = this; |
|  | // axios.post(urlroot, { |
|  | // data: this.item |
|  | // }).then(function (response) { |
|  | // item.id = response.data; |
|  | vm.item.id = Math.floor(Math.random() * 1000000); |
|  | vm.collection.unshift(vm.item); |
|  | vm.reset(); |
|  | // }).catch(function (error) { |
|  | // alertError(error); |
|  | // }); |
|  | }, |
|  | 
 |
|  | // alertError: function alertError(error) { |
|  | // var errors = error.response.data.errors; |
|  | // for (var key in errors) { |
|  | // swal(errors[key][0]); |
|  | // break; |
|  | // } |
|  | // }, |
|  | 
 |
|  | formDisplay: function formDisplay(a) { |
|  | // console.log(a); |
|  | 
 |
|  | 
 |
|  | this.showForm = true; |
|  | }, |
|  | 
 |
|  | edit: function edit(item) { |
|  | 
 |
|  | this.item = JSON.parse(JSON.stringify(item)); |
|  | this.formDisplay(); |
|  | }, |
|  | 
 |
|  | del: function del(item) { |
|  | var vm = this; |
|  | swal({ |
|  | title: '确定删除?', |
|  | buttons: ['取消', '确定'] |
|  | }).then(function (willDelete) { |
|  | if (willDelete) { |
|  | // axios.post(urlroot + '/' + item.id, { |
|  | // {{--'_token': '{{ csrf_token() }}',--}} |
|  | // '_method': 'delete' |
|  | // }).then(function () { |
|  | vm.collection.splice(vm.getIndexById(item.id), 1); |
|  | vm.reset(); |
|  | // }); |
|  | } |
|  | }); |
|  | }, |
|  | 
 |
|  | getIndexById: function getIndexById(id) { |
|  | for (var i = 0; i < this.collection.length; i++) { |
|  | if (this.collection[i].id === id) { |
|  | return i; |
|  | } |
|  | } |
|  | }, |
|  | 
 |
|  | query: function query() { |
|  | console.log('searching'); |
|  | var vm = this; |
|  | if (vm.sInputText) { |
|  | vm.list = []; |
|  | vm.aPrompt = []; |
|  | vm.collection.forEach(function (item) { |
|  | var canPush = false; |
|  | vm.searchfields.forEach(function (field) { |
|  | if (item[field].indexOf(vm.sInputText) !== -1) { |
|  | canPush = true; |
|  | if (vm.aPrompt.indexOf(item[field]) === -1) { |
|  | vm.aPrompt.push(item[field]); |
|  | } |
|  | } |
|  | }); |
|  | if (canPush) { |
|  | vm.list.push(item); |
|  | } |
|  | }); |
|  | } else { |
|  | vm.reset(); |
|  | } |
|  | } |
|  | 
 |
|  | } |
|  | }; |
|  | new Vue({ |
|  | el: '#app', |
|  | components: { |
|  | 'curd': curd |
|  | }, |
|  | data: { |
|  | viewData: [ |
|  | { |
|  | urlroot: '/education/students', |
|  | collection: [{ |
|  | "id": 28, |
|  | "name": "李小龙", |
|  | "phone": "1333552333", |
|  | "call": "阿姨" |
|  | }, { |
|  | "id": 26, |
|  | "name": "苗可秀", |
|  | "phone": "18512256234", |
|  | "call": "老师" |
|  | }], |
|  | searchfields: ['name', 'phone'] |
|  | }, |
|  | 
 |
|  | 
 |
|  | { |
|  | urlroot: '/education/students', |
|  | collection: [{ |
|  | "id": 28, |
|  | "name": "玛丽莲", |
|  | "phone": "0238524625123", |
|  | "call": "明星" |
|  | }, { |
|  | "id": 26, |
|  | "name": "穆罕穆德", |
|  | "phone": "18512256234", |
|  | "call": "拳王" |
|  | }], |
|  | searchfields: ['name', 'phone'] |
|  | } |
|  | ] |
|  | } |
|  | }); |
|  | 
 |
|  | </script> |
|  | </body> |
|  | </html> |
|  |  |

上一篇 下一篇

猜你喜欢

热点阅读