Vue.js tab實現(xiàn)選項卡切換
更新時間:2021年04月28日 11:32:53 作者:codingNoob
這篇文章主要為大家詳細介紹了Vue.js組件tab實現(xiàn)選項卡切換效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文為大家分享了Vuejs 組件化開發(fā)tab組件實例,供大家參考,具體內(nèi)容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
<link rel="stylesheet" href="css/index.css" >
<script type="text/javascript" src="../lib/vue.min.js"></script>
<script type="text/javascript" src="../lib/jquery-1.11.3.min.js"></script>
<style>
* {
margin: 0;
padding: 0;
}
#tabPanel .itemname {
height: 40px;
width: 180px;
margin-bottom: 10px;
}
#tabPanel .itemcontent {
height: 40px;
width: 180px;
}
#tabPanel .addbtn {
margin: 10px 0 0 95px;
width: 185px;
height: 40px;
}
#tabPanel .active {
background: #eee;
}
#tabPanel {
height: 340px;
width: 500px;
margin: 100px auto;
}
#tabPanel .tab {
height: 40px;
background: #ccc;
margin-top: 10px;
}
#tabPanel .tab ul li {
list-style: none;
float: left;
width: 80px;
height: 40px;
text-align: center;
line-height: 40px;
}
#tabPanel .content {
height: 300px;
width: 500px;
background: #eee;
}
</style>
</head>
<body>
<div id="tabItem">
<my-tab></my-tab>
<my-tab></my-tab>
</div>
<!--組件模板-->
<script type="text/template" id="tab">
<div id="tabPanel">
<label>添加滑塊名稱:<input type="text" v-model="tabItem" class="itemname"></label><br>
<label>添加滑塊內(nèi)容:<input type="text" v-model="tabContent" class="itemcontent"></label><br>
<input type="button" value="添加選項" @click="addItem()" class="addbtn">
<div class="tab">
<ul>
<li v-for="(value, index) in tabs" v-bind:class="{active: index == num }" @mouseover="toggle(index)" @dblclick="del(index)">{{value}}</li>
</ul>
</div>
<div class="content">
<div class="box" v-for="(value, index) in tabContents" v-show="index == num" contenteditable="true" @blur="editContent(index,value)">{{value+index}}</div>
</div>
</div>
</script>
<!--組件模板-->
</body>
</html>
<script>
var vue = new Vue({
el: "#tabItem",
data: {
},
components: {
'my-tab': {
template: '#tab',
data: function() {
return {
tabs: ["第一項", "第二項"],
tabContents: ["第一項內(nèi)容", "第二項內(nèi)容"],
num: 0,
tabItem: "",
tabContent: ""
}
},
methods: {
//切換滑塊
toggle: function(index) {
this.num = index;
},
//添加滑塊
addItem: function() {
if (this.tabItem == "" || this.tabContent == "") {
alert("填寫完整的名稱和內(nèi)容");
} else {
this.tabs.push(this.tabItem);
this.tabContents.push(this.tabContent);
}
},
//雙擊刪除滑塊
del: function(index) {
this.tabs.splice(index, 1);
this.tabContents.splice(index, 1)
},
//編輯選項內(nèi)容
editContent: function(index, value) {
this.tabContents[index] = value;
console.log(this.tabContents);
}
}
}
}
});
</script>
如果大家還想深入學(xué)習(xí),可以點擊兩個精彩的專題:javascript選項卡操作方法匯總 jquery選項卡操作方法匯總
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue如何修改el-form-item中的label樣式修改問題
這篇文章主要介紹了vue如何修改el-form-item中的label樣式修改問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
Vscode關(guān)閉Eslint語法檢查的多種方式(保證有效)
eslint是一個JavaScript的校驗插件,通常用來校驗語法或代碼的書寫風格,下面這篇文章主要給大家介紹了關(guān)于Vscode關(guān)閉Eslint語法檢查的多種方式,文章通過圖文介紹的非常詳細,需要的朋友可以參考下2022-07-07
vue自定義js圖片碎片輪播圖切換效果的實現(xiàn)代碼
這篇文章主要介紹了vue自定義js圖片碎片輪播圖切換效果的實現(xiàn)代碼,需要的朋友可以參考下2019-04-04
Vue.js學(xué)習(xí)記錄之在元素與template中使用v-if指令實例
這篇文章主要給大家介紹了關(guān)于Vue.js學(xué)習(xí)記錄之在元素與template中使用v-if指令的相關(guān)資料,文中給出了詳細的示例代碼供大家參考學(xué)習(xí),相信對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06
詳解關(guān)于element級聯(lián)選擇器數(shù)據(jù)回顯問題
這篇文章主要介紹了詳解關(guān)于element級聯(lián)選擇器數(shù)據(jù)回顯問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02

