VUE插件vue-treeselect的使用及說(shuō)明
VUE插件vue-treeselect使用
效果圖:

首先需要安裝:
npm install --save @riophae/vue-treeselect
用法看代碼注釋?zhuān)?/p>
<template>
<el-form ref="form"
:model="searchForm"
label-width="100px"
:inline="true"
:size="$formSize">
<el-form-item label="區(qū)域:">
<!--使用此插件過(guò)程中發(fā)現(xiàn)了一個(gè)新的問(wèn)題,可能會(huì)因?yàn)閷蛹?jí)樣式問(wèn)題在element組件中無(wú)法展示選項(xiàng)-->
<!--修改方法就是將append-to-body的綁定值改為false-->
<treeselect :append-to-body="true"
v-model="searchForm.areaId"
:options="areaAllList"
:normalizer="normalizer"
:show-count="true"
placeholder="請(qǐng)選擇所屬區(qū)域" />
</el-form-item>
</el-form>
</template><script>
//引入插件
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
//使用組件
components: { Treeselect },
data () {
return {
areaAllList: [],
searchForm: {
areaId: null,//綁定值必須為null,否則輸入框中會(huì)提示unkonwn
},
}
},
mounted () {
this.getAreaAll()
},
methods: {
//轉(zhuǎn)換菜單數(shù)據(jù)結(jié)構(gòu)
normalizer (node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.areaId,
label: node.areaName,
children: node.children,
};
},
//調(diào)用接口獲取select選項(xiàng)數(shù)據(jù)
getAreaAll () {
request({
url: `/manager/Area/AllAreaTree`,
method: "get",
}).then((res) => {
if (res[SETTING.MANAGER_STATE] === SETTING.MANAGER_SUCCESS_STATE) {
this.areaAllList = res.data;
} else {
this.$message({
type: "error",
message: res.message || "操作失敗",
});
}
});
},
}
}
</script><style lang="scss" scoped>
::v-deep .vue-treeselect__control {
max-width: 215px;
}
</style>vue-treeselect樣式修改
<TreeSelect :appendToBody="true" class="treeselect-main" v-model="" :options="option" :normalizer="normalizer" :show-count="true" placeholder="選擇類(lèi)別" />
//appendToBody 超出不隱藏
.treeselect-main { //防止污染
line-height: 27px; //字體控制
font-size: 12px;
.vue-treeselect__placeholder {
line-height: 27px;
}
.vue-treeselect__input{
line-height: 27px;
}
.vue-treeselect__control {
height: 27px;
}
.vue-treeselect__single-value{ //選中后的樣式
line-height: 27px;
}
}
.vue-treeselect__menu-container{ //浮層內(nèi)部樣式 寫(xiě)在全局中 浮層被加入到了body里
font-size: 14px;
color:#606266;
font-weight: 100;
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vuejs如何通過(guò)Axios請(qǐng)求數(shù)據(jù)
這篇文章主要介紹了Vuejs如何通過(guò)Axios請(qǐng)求數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
前端實(shí)現(xiàn)不同角色登入展示不同頁(yè)面效果實(shí)例
要實(shí)現(xiàn)不同角色登錄跳轉(zhuǎn)不同的前端頁(yè)面,可以在登錄成功后,根據(jù)用戶(hù)的角色信息,使用路由跳轉(zhuǎn)到不同的頁(yè)面,這篇文章主要給大家介紹了關(guān)于前端實(shí)現(xiàn)不同角色登入展示不同頁(yè)面效果的相關(guān)資料,需要的朋友可以參考下2024-08-08
vue實(shí)現(xiàn)自定義"模態(tài)彈窗"組件實(shí)例代碼
頁(yè)面中會(huì)有很多時(shí)候需要彈窗提示,我們可以寫(xiě)一個(gè)彈窗組件,下面這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)自定義"模態(tài)彈窗"組件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12
vxe-table?實(shí)現(xiàn)按回車(chē)鍵自動(dòng)新增一行(示例代碼)
本文通過(guò)示例代碼介紹了vxe-table新版本中實(shí)現(xiàn)回車(chē)自動(dòng)換行功能的方法,通過(guò)設(shè)置keyboard-config.isLastEnterAppendRow參數(shù)可以控制是否開(kāi)啟該功能,當(dāng)回車(chē)鍵在最后一行按下時(shí),會(huì)自動(dòng)新增一行,并將光標(biāo)移動(dòng)到新行,代碼簡(jiǎn)單易懂,感興趣的朋友跟隨小編一起看看吧2024-12-12
vue3 表單搜索內(nèi)容回顯到地址欄的實(shí)例代碼
這篇文章主要介紹了vue3 表單搜索內(nèi)容回顯到地址欄的實(shí)例代碼,地址欄輸入內(nèi)容回顯到form表單,同理表單輸入內(nèi)容也要回顯到地址欄中,本文結(jié)合實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
在vue項(xiàng)目中 實(shí)現(xiàn)定義全局變量 全局函數(shù)操作
這篇文章主要介紹了在vue項(xiàng)目中 實(shí)現(xiàn)定義全局變量 全局函數(shù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
VUE3使用Element-Plus時(shí)如何修改ElMessage中的文字大小
在使用Element-plus的Elmessage時(shí)使用默認(rèn)的size無(wú)法滿(mǎn)足我們的需求時(shí),我們可以自定義字體的大小,但是直接重寫(xiě)樣式后,并沒(méi)有起作用,甚至使用::v-deep深度選擇器也沒(méi)有效果,本文介紹VUE3使用Element-Plus時(shí)如何修改ElMessage中的文字大小,感興趣的朋友一起看看吧2023-09-09

