Vue-使用ElementUI級聯選擇器懶載入省市縣資料
問題描述
官網的描述這裡就不說了
在data裡面定義一個props作為全域性資料,請求非同步方法,再通過resolve()去更新元件
但是我們在實際專案中,要請求後臺的,呼叫的是我們在methods裡面定義的方法
解決方法
methods中請求後臺的方法
//請求省資料
async getProvince(callback) {
let res = await this.$api.getProvince();
if (res.data.code == 200) {
callback(res.data.provinces);
}
},
//請求市資料
async getCity(params) {
let res = await this.$api.getCity(params);
if (res.data.code == 200) {
return res.data.cities;
}
},
//請求縣資料
async getArea(params) {
let res = await this.$api.getArea(params);
if (res.data.code == 200) {
return res.data.areas;
}
},
data資料
data() {
let that = this;
return {
props: {
//級聯選擇器懶載入
lazy: true,
lazyLoad(node, resolve) {
const { level } = node;
console.log(level, node);
if (level == 0) {
that.getProvince((list1) => {
let arr = list1.map((e) => ({ value: e.pid, label: e.pname }));
resolve(arr); // 通過呼叫resolve將子節點資料返回,通知元件資料載入完成
});
}
if (level == 1) {
let { value } = node;
that.getCity({ pId: value }).then(list2=>{
let arr = list2.map((e) => ({ value: e.cId, label: e.cName }));
resolve(arr);
});
}
if (level == 2) {
let { value } = node;
that.getArea({ cId: value }).then(list3=>{
let arr = list3.map((e) => ({ value: e.aid, label: e.aname,leaf:true }));
resolve(arr);
});
}
},
},
};
},
注意將let that = this;
這行程式碼儲存一下this指向,要不然訪問不到方法
leaf:true
代表是最後一級
頁面程式碼
<el-cascader v-model="form.place" :props="props"></el-cascader>
相關文章
- ElementUI級聯選擇器動態載入DemoUI
- element 級聯選擇器懶載入回顯
- 省市縣三級聯動(2)
- 省市縣三級聯動(1)
- Voyager 級聯選擇器外掛,可以方便的維護省市區資訊
- JavaScript 省市級聯選單原理JavaScript
- Flutter城市(省市區)選擇器Flutter
- 中國省市區街道四級聯動地區選擇元件元件
- 最新最完整的省市縣json資料JSON
- 最最最簡單從政府官方獲取最新省市縣聯動資料
- 小程式:動態資料實現三級聯動選擇器
- 使用json和jquery級聯選擇JSONjQuery
- VUE-地區選擇器(V-Distpicker)元件使用心得Vue元件
- vue12-ElementUI tree元件懶載入的實現VueUI元件
- 2024中國行政區域含港澳臺【省市區縣鎮鄉村】五級聯動地址json資料JSON
- 使用ElementUI和element-china-area-data庫實現省市區三級聯動元件封裝UI元件封裝
- [Dcat 擴充套件] dcat-distpicker 省市區三級聯動選擇元件擴充套件元件
- JavaScript 省市級聯效果JavaScript
- 符合 iview 資料規則的省市區三級聯動View
- 擼個微信小程式的省市區選擇器微信小程式
- 基於layui的省市區三級聯動(資料互動)UI
- 小白前端進階模組1————國省市縣聯動前端
- Selenium4自動化測試6--控制元件獲取資料--下拉框級聯選擇、checkbox選擇、時間選擇器控制元件
- 懶載入
- JavaScript省市級聯效果詳解JavaScript
- [擴充套件]一個基於laravel的省市縣三級資料生成器laravel-region套件Laravel
- el-select資料過多懶載入(loadmore)
- Element原始碼分析系列8-Cascader(級聯選擇器)原始碼
- Element-ui 級聯選擇器元件功能擴充套件UI元件套件
- 懶載入和預載入
- 使用C#選擇資料夾、開啟資料夾、選擇檔案C#
- Ribbon - 懶載入
- Vue+Element 單選模式下Cascader級聯選擇器使用總結Vue模式
- 資料分享 — 省市區街道社群 5 級聯動資料 ---- 送演示 ---- 送服務端程式服務端
- CSS父級選擇器 :has()CSS
- Flutter 實現類似TabPicker省市區選擇Flutter
- ElementUI 日期選擇器 DatePicker 實現週一,週二之類的速選UI
- vue 省市區三級聯動外掛Vue