您好,登錄后才能下訂單哦!
這篇文章主要介紹Vue如何實現用戶自定義字段顯示數據,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Vue具體輕量級框架、簡單易學、雙向數據綁定、組件化、數據和結構的分離、虛擬DOM、運行速度快等優勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數據和dom,可以大大提升訪問速度和用戶體驗。
如下:
代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="../lib/vue.min.js"></script> <style> .middle::-webkit-scrollbar {height:8px;} /* 滾動槽 */ .middle::-webkit-scrollbar-track {border-radius: 10px;} /* 滾動條滑塊 */ .middle::-webkit-scrollbar-thumb {background: #ccc;} * {margin: 0;padding: 0;box-sizing:border-box;font-family: "微軟雅黑";} #tabPanel{width:1100px;height:300px;margin:100px auto;} .left{float:left;height:300px;width:300px;font-size:0;} .left .item,.right .item,.middle .item{display:inline-block;width:100px;} .left .item span,.middle .item span,.left .item span{display:block;height:50px;text-align:center;line-height:50px;font-size:14px;border:1px solid #eee;} .right .item{width:200px;height:50px;line-height:50px;text-align:center;border:1px solid #eee;} .right .item span{display:inline-block;border:none;color:blue;text-decoration: underline;cursor:pointer;} .middle{float:left;height:300px;width:300px;font-size:0;overflow-x:scroll;overflow-y:hidden;} .right{float:left;height:300px;width:200px;} #tabPanel .chooseItem {padding:10px 0;} #tabPanel .chooseItem label{padding:0 10px;} </style> <title>Vue實現自定義字段數據</title> </head> <body> <div id="tabPanel"> <div class="chooseItem"> <label @click="chooseFile()"><input type="checkbox" @click.stop="" v-model="field.weight">體重</label> <label @click="chooseFile()"><input type="checkbox" @click.stop="" v-model="field.inter">興趣</label> <label @click="chooseFile()"><input type="checkbox" @click.stop="" v-model="field.schoold">學校</label> <label @click="chooseFile()"><input type="checkbox" @click.stop="" v-model="field.district">所屬地區</label> <label @click="chooseFile()"><input type="checkbox" @click.stop="" v-model="field.class">所屬年級</label> <label @click="chooseFile()"><input type="checkbox" @click.stop="" v-model="field.math">數學</label> <label @click="chooseFile()"><input type="checkbox" @click.stop="" v-model="field.chinese">語文</label> <label @click="chooseFile()"><input type="checkbox" @click.stop="" v-model="field.english">英語</label> </div> <div class="left"> <div class="item"> <span>編號</span> <span v-for="(item, index) in students">{{item.id}}</span> </div> <div class="item"> <span>姓別</span> <span v-for="(item, index) in students">{{item.sex}}</span> </div> <div class="item"> <span>身高</span> <span v-for="(item, index) in students">{{item.hight}}</span> </div> </div> <div class="middle"> <div :> <div class="item" v-show="field.weight"> <span>體重</span> <span v-for="(item, index) in students">{{item.weight}}</span> </div> <div class="item" v-show="field.inter"> <span>興趣</span> <span v-for="(item, index) in students">{{item.inter}}</span> </div> <div class="item" v-show="field.schoold"> <span>學校</span> <span v-for="(item, index) in students">{{item.schoold}}</span> </div> <div class="item" v-show="field.district"> <span>所屬地區</span> <span v-for="(item, index) in students">{{item.district}}</span> </div> <div class="item" v-show="field.class"> <span>所屬年級</span> <span v-for="(item, index) in students">{{item.class}}</span> </div> <div class="item" v-show="field.math"> <span>數學</span> <span v-for="(item, index) in students">{{item.math}}</span> </div> <div class="item" v-show="field.chinese"> <span>語文</span> <span v-for="(item, index) in students">{{item.chinese}}</span> </div> <div class="item" v-show="field.english"> <span>英語</span> <span v-for="(item, index) in students">{{item.english}}</span> </div> </div> </div> <div class="right"> <div class="item"> <span>操作</span> </div> <div class="item" v-for="(item, index) in students"> <span @click="detail(item.id ,index)" :title="item.id">查看</span> <span @click="detail(item.id ,index)" :title="item.id">刪除</span> <span @click="detail(item.id ,index)" :title="item.id">修改</span> <span @click="detail(item.id ,index)" :title="item.id">凍結</span> </div> </div> </div> </body> <script> var v = new Vue({ el: "#tabPanel", data: { length: 3, field:{ weight: true, inter: true, schoold: true, district: false, class: false, math: false, chinese: false, english: false }, students:[{ id: 1, name: 'zhangsan01', sex: '男', hight: '168cm', weight: '56kg', inter: '籃球1', schoold: '清華大學1', district: '湖南省1', class: '大學三年級1', math: '97', chinese: '98', english: '120' },{ id: 2, name: 'zhangsan02', sex: '男', hight: '168cm', weight: '56kg', inter: '籃球2', schoold: '清華大學2', district: '湖南省2', class: '大學三年級2', math: '97', chinese: '98', english: '120' },{ id: 3, name: 'zhangsan03', sex: '男', hight: '168cm', weight: '56kg', inter: '籃球3', schoold: '清華大學3', district: '湖南省3', class: '大學三年級3', math: '97', chinese: '98', english: '120' },{ id: 4, name: 'zhangsan04', sex: '男', hight: '168cm', weight: '56kg', inter: '籃球4', schoold: '清華大學4', district: '湖南省4', class: '大學三年級4', math: '97', chinese: '98', english: '120' },{ id: 5, name: 'zhangsan05', sex: '男', hight: '168cm', weight: '56kg', inter: '籃球5', schoold: '清華大學5', district: '湖南省5', class: '大學三年級5', math: '97', chinese: '98', english: '120' }] }, methods: { //雙擊刪除滑塊 del: function(index) { this.tabs.splice(index, 1); this.tabContents.splice(index, 1) }, //編輯選項內容 editContent: function(index, value) { this.tabContents[index] = value; console.log(this.tabContents); }, chooseFile: function(){ var val = this.field; //this.length = 0; for (i in val){ if(val[i]){ this.length = this.length + 1; } //console.log(val.lenght) } if(this.length > 8){ this.length = 8; } console.log(this.length); } }, computed: { lengthb: function(){ if(length > 6){ lengthb = 6 } } }, watch: { field: function(val){ //console.log(this.field.lenght); } } }); </script> </html>
以上是“Vue如何實現用戶自定義字段顯示數據”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。