




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第vue實(shí)現(xiàn)二級(jí)彈框案例本文實(shí)例為大家分享了vue實(shí)現(xiàn)二級(jí)彈框的具體代碼,供大家參考,具體內(nèi)容如下
二級(jí)彈框案例,如下圖所示
template
div
div
p請(qǐng)選擇職位/p
div
!--inputv-model="jobKeyWord"placeholder="請(qǐng)輸入職位關(guān)鍵詞"/--
el-input
v-model="jobKeyWord"
@click.native="clickSearchInput"
clearable
@blur="blurSearch"
placeholder="請(qǐng)輸入職位關(guān)鍵詞"/el-input
divv-show="searchFlag"
ul
!--liv-for="(item,i)insearchList":key="i"{{Zh}}/li--
liv-for="(item,i)insearchList"
:key="i"@click="clickTwoCatFun(item)"
@mousedown=downDrag($event)
v-html="Val"/li
/ul
/div
/div
/div
div
spanv-for="(item,i)inclickTwoNameArr":key="i"
{{Zh}}
i@click="delChoolseTwoItem(item)"/i
/span
span最多選擇1個(gè)職位類別/span
span@click="jobSure"確認(rèn)/span
/div
div
div
ul
!--li產(chǎn)品/運(yùn)營(yíng)/新媒體span1/span/li--
!--templatev-for="(item,i)injobClassList":key="i"
/template
--
li
:class="[clickOneJobNameArr.includes(item.id)'li-active':'']"
v-for="(item,i)injobClassList"
@click="clickJobItem(item)"
:key="i"{{Zh}}
spanv-if="countObj[item.id]"{{countObj[item.id]}}/span
/li
/ul
/div
div
div
!--span互聯(lián)網(wǎng)/移動(dòng)互聯(lián)網(wǎng)/電子商務(wù)/span--
span
:class="[clickTwoIdArr.includes(twoObj.id)'job-active':'']"
v-for="(twoObj,i)inclickCateObj.list"
:key="i"@click="clickTwoCatFun(twoObj)"{{twoOZh}}
/span
/div
/div
/div
/div
/template
script
exportdefault{
name:"JobClassComp",
data(){
return{
jobKeyWord:'',//職位關(guān)鍵詞
searchFlag:false,//是否展示搜索框
searchList:[],//搜索數(shù)據(jù)
clickOneJobNameArr:[],//存儲(chǔ)點(diǎn)擊時(shí)一級(jí)分類
clickTwoNameArr:[],//選中的二級(jí)分類
clickTwoIdArr:[],//選中的二級(jí)分類
clickCateObj:{},//點(diǎn)擊選中的一級(jí)分類
countObj:{},//二級(jí)職位被選中時(shí)一級(jí)顯示數(shù)量
searchDataList:[],//搜索數(shù)據(jù)
allTwoClassList:[],//所有二級(jí)分類
}
},
props:{
form:Object,
isEndDateNow:Boolean,
jobClassList:{
type:Array,
default(){
return[];
}
}
},
computed:{
listLength(){
returnthis.jobClassList.length
}
},
watch:{
jobKeyWord(val){
if(val.length0){
this.searchList=this.searchDataList.filter(item={
val=val.toUpperCase();
letreg=newRegExp("("+val+")","g");
letnameVal=Zh.replace(reg,"span$1/span
Val=nameVal;
//
returnnewstr;
returnZh.includes(val)
})
this.searchFlag=true
}else{
this.searchList=[];
this.searchFlag=false
}
},
listLength(val,oldValue){
/*
console.log("val==",val)
console.log("oldValue==",oldValue)*/
if(oldValue===0val0){
//console.log("--22--",this.jobClassList)
this.clickOneJobNameArr.length===0this.clickOneJobNameArr.push(this.jobClassList[0].id):'';
Object.keys(this.clickCateObj).length===0this.clickCateObj=this.jobClassList[0]:'';
this.dealSearchData();//處理搜索職位數(shù)據(jù)
//
this.doAllTwoClassData()lzs
}
}
},
created(){
if(this.jobClassListthis.jobClassList.length0){
this.clickOneJobNameArr.length===0this.clickOneJobNameArr.push(this.jobClassList[0].id):'';
Object.keys(this.clickCateObj).length===0this.clickCateObj=this.jobClassList[0]:'';
this.dealSearchData();//處理搜索職位數(shù)據(jù)
}
},
methods:{
clickSearchInput(){
this.jobKeyWord.length0this.searchFlag=true:this.searchFlag=false;
},
//input失去焦點(diǎn)
blurSearch(){
this.searchFlag=false;
},
downDrag(el){
el.preventDefault();//阻止input失去焦點(diǎn)事件時(shí)的影響
},
//職位確認(rèn)
jobSure(){
//this.dialogVisible=false;//addlzs
if(this.clickTwoNameArr.length0){
this.form.jobIntensionName='';
this.clickTwoNameArr.forEach(item={
this.form.jobIntensionName=this.form.jobIntensionName+','+Zh;
})
this.form.jobIntensionName.length0this.form.jobIntensionName=this.form.jobIntensionName.substring(1,this.form.jobIntensionName.length):'';
}else{
this.form.jobIntensionName='';
}
this.$emit('sureJobMethod',this.clickTwoNameArr)
},
clickJobItem(item){//點(diǎn)擊職位類別
//console.log("item----",item)
this.clickCateObj=item;
//處理選中顏色變化
if(this.clickOneJobNameArr.length0){
this.clickOneJobNameArr.splice(0,1);
this.clickOneJobNameArr.push(item.id)
}else{
this.clickOneJobNameArr.push(item.id)
}
},
//點(diǎn)擊二級(jí)職位名稱
clickTwoCatFun(obj){
//type:searchtwo;=search是點(diǎn)擊的搜索框出現(xiàn),否則就是點(diǎn)擊的二級(jí)
//type==='search'this.jobKeyWord=Zh:'';
if(!this.clickTwoIdArr.includes(obj.id)this.clickTwoIdArr.length===1){
this.$message({
message:'最多選擇1個(gè)職位類別哦',
type:'warning'
});
return
}
if(!this.clickTwoIdArr.includes(obj.id)this.clickTwoIdArr.length3){
this.clickTwoNameArr.push(obj)
this.clickTwoIdArr.push(obj.id)
this.form.jobIntensionNameSel.push(obj.id)
if(!this.countObj[obj.parentId]){
this.countObj[obj.parentId]=1
}else{
this.countObj[obj.parentId]++;
}
}
},
//要?jiǎng)h除的二級(jí)分類,改變選中顏色,改變一級(jí)分類統(tǒng)計(jì)數(shù)量
delChoolseTwoItem(delObj){
//varfiltered=someArray.filter(function(el){returnel.Name!="Kristian";});
letindex=this.clickTwoNameArr.findIndex(item={
returnitem.id===delObj.id
})
letformIndex=this.form.jobIntensionNameSel.findIndex(idVal={
returnidVal===delObj.id
})
this.form.jobIntensionNameSel.splice(formIndex,1)//刪除
this.clickTwoNameArr.splice(index,1)
this.clickTwoIdArr.splice(index,1)
if(!this.countObj[delObj.parentId]){
this.countObj[delObj.parentId]=0
}else{
this.countObj[delObj.parentId]--;
}
},
//處理搜索的數(shù)據(jù)
dealSearchData(){
this.jobClassList.forEach(item={
this.searchDataList=this.searchDataList.concat(item.list)
})
},
}
}
/script
stylescopedlang="less"
.zw-dialog{
/*
border:1pxsolidred;*/
width:880px;
height:550px;
background:rgba(255,255,255,1);
.zw-top{
height:52px;
width:100%;
display:flex;
/*border:1pxsolidgreen;*/
border-bottom:1pxsolid#EFEFEF;
.zw-word{
width:200px;
/*text-align:center;*/
margin-left:30px;
line-height:52px;
font-size:16px;
color:#333333;
}
.zw-in{
/*border:1pxsolidblue;*/
width:calc(100%-200px);
line-height:52px;
.zw-put{
border-radius:15px;
border:1pxsolidrgba(224,224,224,1);
width:200px;
height:30px;
margin-left:32px;
font-size:12px;
padding-left:20px;
}
.in-put{
width:200px;
height:30px;
/deep/.el-input__inner{
border-radius:15px;
color:#999999;
font-size:12px;
}
/deep/input::-webkit-input-placeholder{
/*WebKitbrowsers*/
font-size:12px;
color:#999999;
}
/deep/input:-moz-placeholder{
/*MozillaFirefox4to18*/
font-size:12px;
color:#999999;
}
/deep/input::-moz-placeholder{
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GBT17989.6-2022生產(chǎn)過(guò)程質(zhì)量控制統(tǒng)計(jì)方法控制圖第6部分:指數(shù)加權(quán)移動(dòng)平均控制圖》(2025版)深度解析
- 《醫(yī)療機(jī)構(gòu)節(jié)能減排教育》課件
- 一拳超人團(tuán)隊(duì)管理
- 城市公共事業(yè)管理
- 《中醫(yī)與法醫(yī)》課件
- 《教學(xué)課件示例》課件
- 老年腹膜間皮瘤的臨床護(hù)理
- 醫(yī)學(xué)教學(xué)設(shè)計(jì)分享
- 人民檢察院民事行政檢察監(jiān)督辦案全流程指南
- 中學(xué)體育課堂安全管理規(guī)范
- 2024-2025中國(guó)服裝行業(yè)科技創(chuàng)新白皮書(shū)
- 道路安全交通課課件
- 眼科住院及手術(shù)患者安全
- 數(shù)字化轉(zhuǎn)型對(duì)企業(yè)人力資本的影響研究
- 保密基本知識(shí)培訓(xùn)材料范文
- 《榮安地產(chǎn)公司財(cái)務(wù)風(fēng)險(xiǎn)研究與防范研究(定量論文)》8200字
- 【MOOC】理性思維實(shí)訓(xùn)-華南師范大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2024年信息系統(tǒng)項(xiàng)目管理師(綜合知識(shí)、案例分析、論文)合卷軟件資格考試(高級(jí))試題與參考答案
- 疑似新冠肺炎的應(yīng)急演練
- 2025年湖北省武漢市高考數(shù)學(xué)模擬試卷(附答案解析)
- 賽迪顧問(wèn)一線調(diào)研第36期:中國(guó)人工智能醫(yī)療器械:前路漫漫仍需披荊斬棘
評(píng)論
0/150
提交評(píng)論