vue-treeselect無(wú)法點(diǎn)擊問(wèn)題(點(diǎn)擊無(wú)法出現(xiàn)拉下菜單)
vue-treeselect無(wú)法點(diǎn)擊
問(wèn)題原因
樣式?jīng)_突(使用了elementui)
場(chǎng)景:在el-form標(biāo)簽中,如果使用了標(biāo)簽,并且父標(biāo)簽不是的話,就會(huì)出現(xiàn)無(wú)法點(diǎn)擊的問(wèn)題。(沒(méi)有嚴(yán)格按elementui的標(biāo)簽嵌套)
可正常點(diǎn)擊
<el-row> ? ?<el-col :span="24" ?v-if="form.parentId !== 0"> ? ? ?<el-form-item ? label="上級(jí)字典" prop="parentId"> ? ? ? ?<treeselect v-model="parentId" :options="dictOptions" ?/> ? ? ?</el-form-item> ? ?</el-col> ?</el-row>
不能正常點(diǎn)擊
<el-col :span="24" > ? <el-form-item ? label="上級(jí)字典" prop="parentId"> ? ? <treeselect v-model="parentId" :options="dictOptions" ?/> ? </el-form-item> </el-col>
其他場(chǎng)景下,應(yīng)該也是樣式?jīng)_突的問(wèn)題。
vue-treeselect的基本一些用法
1.首先需要先安裝
@riophae/vue-treeselect":"^0.0.37
這是vue官方的中文文檔可以參考 https://www.vue-treeselect.cn/#node

2.需要引入至vue頁(yè)面使用
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
components: {
Loadding,
Treeselect,
},
3.需要在頁(yè)面中寫入
<div class="search_row_label">單位管理范圍:</div>
<div class="search_row_content">
<treeselect
noResultsText="暫無(wú)結(jié)果"
v-model="dwgxfw"
clearValueText="刪除" //“×”按鈕的標(biāo)題
:searchable="false" //是否啟用搜索功能
:options="szxzList" //選項(xiàng)數(shù)據(jù)
:load-options="loadOptions" //用于動(dòng)態(tài)加載選項(xiàng)
placeholder="請(qǐng)選擇"
@select="changeSelect" //選擇一個(gè)選項(xiàng)后發(fā)出用于選擇
@input="inputChange" //輸入框值更改后發(fā)出觸發(fā)
>
</treeselect>
4.這里舉例實(shí)際應(yīng)用
首先需要先獲取到父節(jié)點(diǎn)的值
getParentLocalityName(){
this.getRequest(this.Jurisdiction,"s_kj/s_kj_02/s_kj_02_01/loadDiscritctTreeRootNode","").then(res=>{
// this.Loadding = false;
//這里先判斷狀態(tài)
if(res.data.state==1){
let resData = res.data.data
let objData = {} //定義一個(gè)空對(duì)象
objData.id = resData.localitycode;
objData.label = resData.localityname;
objData.name = resData.localitydesc;
objData.children = null;
this.szxzList.push(objData) //在這里將獲取到的數(shù)據(jù)代入
console.log(this.szxzList)
}else{
this.Loadings = false;
this.$Message.error(res.data.msg);
}
}).catch(error=>{
this.Loadings = false;
})
5.當(dāng)點(diǎn)擊時(shí)加載子數(shù)據(jù)
loadOptions({action,parentNode,callback}){
//這里有三個(gè)參數(shù)
action 獲取到的值
parentNode 加載子選項(xiàng)時(shí)顯示
callback 接受error參數(shù)的函數(shù)
console.log(parentNode)
let params={
parentLocCode: parentNode.id
}
this.getRequest(this.Jurisdiction,"s_kj/s_kj_02/s_kj_02_01/loadDiscrictTreeNode",urlPath(params)).then(res=>{
if(res.data.state==1){
if(res.data.data.length>0){
let resData =res.data.data
let arr = [] //定義空數(shù)組
resData.forEach(item=>{
let objData={}
objData.id = item.localitycode;
objData.label = item.localityname;
objData.name = item.localitydesc;
console.log(item.localitylevel)
if (item.localitylevel <=item.localitylevel+1) { //這里選擇需要獲取幾個(gè)子節(jié)點(diǎn)進(jìn)行判斷
objData.children = null
objData.loading=false;
}
arr.push(objData) //將獲取的數(shù)據(jù)代入
})
parentNode.children = arr;
callback();
}
}
})
},
changeSelect(n,i){
console.log(n)
if (n.label == "長(zhǎng)江流域") {
this.dwgxfw = "";
} else {
console.log(222)
this.dwgxfw = n.label;
this.dwglcode = n.id
}
},
inputChange(n, i) {
if (n == undefined) {
this.dwgxfw = "";
}
},
6.實(shí)際的效果圖

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
一文詳解Vue中如何實(shí)現(xiàn)頁(yè)面骨架屏
為了提升頁(yè)面加載速度,我們可以使用頁(yè)面骨架屏技術(shù)來(lái)優(yōu)化用戶感知,下面就跟隨小編一起學(xué)習(xí)一下如何在vue中實(shí)現(xiàn)頁(yè)面骨架屏吧2024-03-03
vue動(dòng)畫—通過(guò)鉤子函數(shù)實(shí)現(xiàn)半場(chǎng)動(dòng)畫操作
這篇文章主要介紹了vue動(dòng)畫—通過(guò)鉤子函數(shù)實(shí)現(xiàn)半場(chǎng)動(dòng)畫操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
vue 中 get / delete 傳遞數(shù)組參數(shù)方法
這篇文章主要介紹了vue 中 get / delete 傳遞數(shù)組參數(shù)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
VUE實(shí)現(xiàn)移動(dòng)端列表篩選功能
這篇文章主要介紹了VUE實(shí)現(xiàn)移動(dòng)端列表篩選功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
vue自定義組件@click點(diǎn)擊失效問(wèn)題及解決
這篇文章主要介紹了vue自定義組件@click點(diǎn)擊失效問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04

