当前位置: 首页 > news >正文

竹子林附近网站建设站长推广工具

竹子林附近网站建设,站长推广工具,企业做网站建设遇到的问题,网站违规关键词需要实现的懒加载回显效果 比如:后端返回数据 广东省/广州市/天河区 :440000000000/440100000000/440106000000,需要我们自动展开到天河区的下一级,效果如下 代码实现 我的实现思路就是拿到 440000000000/440100000000/44010600…

需要实现的懒加载回显效果

比如:后端返回数据 广东省/广州市/天河区440000000000/440100000000/440106000000,需要我们自动展开到天河区的下一级,效果如下

在这里插入图片描述

代码实现

我的实现思路就是拿到 440000000000/440100000000/440106000000 每一层级的数据,然后组成一个树。

这里接口 getAreaList 返回的数据格式如下:

[{areaCode: "440106000000",areaLevel: "4",areaName: "天河区",areaSeq: "5",childNum: 21,parentAreaSeq: "xxx"}
]

组件试下如下:

<template><div class="cascader-lazy"><h2>需要回显的地区:广东省/广州市/天河区</h2><h3>需要回显的地区对应的编码:440000000000/440100000000/440106000000</h3><el-cascader ref="cascaderLazy" :options="dataList" :props="props" v-model="areaList" /></div>
</template><script>
import axios from "axios";export default {name: "CascaderLazy",data() {return {areaList: [],dataList: [],props: {value: "areaCode",label: "areaName",lazy: true,lazyLoad: this.lazyLoad}};},mounted() {this.areaList = ["440000000000", "440100000000", "440106000000"];this.loadOptions(this.areaList);},methods: {// 获取数据getAreaList(parentAreaSeq) {return new Promise(async (resolve, reject) => {try {const response = await axios.get("xxxx", {params: {parentAreaSeq: parentAreaSeq}});resolve(response.data.data.map((el) => {el.leaf = el.childNum === 0;return el;}));} catch (error) {console.error(error);reject();}});},// 遍历一级选择框,把二级选择框的数据放在一级的children属性上async loadOptions(areaList) {// 先初始调用一次let tempArr = [];let initRes = await this.getAreaList();tempArr.push(initRes);// 然后遍历 areaList 找到对应的 areaSeq 获取地区列表for (let i = 0; i < areaList.length; i++) {if (areaList.length > 0) {let areaSeq = "";areaSeq = tempArr[i].filter((el) => el.areaCode === areaList[i]).map((el) => el.areaSeq)[0];let res = await this.getAreaList(areaSeq);tempArr.push(res);}}// 先加一个最后层级的地区用于展示,最后在删掉if (tempArr[areaList.length][0]) {areaList.push(tempArr[areaList.length][0].areaCode);}// 从后面开始遍历组成一个树for (let len = tempArr.length - 1; len >= 0; len--) {if (len - 1 < 0) break;// 给当前areaCode添加childrentempArr[len - 1].forEach((item) => {if (item.areaCode === areaList[len - 1]) {item.children = tempArr[len];}});}this.dataList = tempArr[0];// 删掉最后选中的this.$nextTick(() => {areaList.pop();// 点击自动下拉出来this.$refs.cascaderLazy.$el.click();});},async lazyLoad(node, resolve) {let nodes = [];if (node.level !== 0 && node.data) {nodes = await this.getAreaList(node.data.areaSeq);}resolve(nodes);}}
};
</script>
http://www.dinnco.com/news/44513.html

相关文章:

  • 包图网免费素材图库官网谷歌排名优化入门教程
  • 郑州官网seo费用站长工具seo推广 站长工具查询
  • 微网站建站郑州百度推广代运营
  • dw做网站有哪些用处海南百度竞价推广
  • 微网站与手机网站武汉网站推广公司排名
  • html网站发布游戏推广员是违法的吗
  • 可以做两个网站指向同一个域名楚雄seo
  • 网站开发过程百度一下你就知道官网
  • wordpress代码实现图片放大seo文章代写平台
  • wordpress找回密码链接浙江搜索引擎优化
  • 淘宝联盟网上的网站建设重庆企业站seo
  • 资源网站怎么做站长工具 seo查询
  • 做家教网站要多少钱网站恶意点击软件
  • js统计网站访问人数seo培训教程
  • 免费网站源码建站系统网站关键词排名优化价格
  • 商务网站开发方式淘宝关键词挖掘工具
  • 分析企业网站建设流程武汉网站建设优化
  • b2c商城用户实验报告seo网站推广案例
  • 企业品牌网站设计网络销售技巧
  • vs2005做网站google关键词排名优化
  • 网站空间商怎么做企业网络推广服务
  • 长春哪里有做网站的关键词工具
  • 营销型网站制作的目的是线上宣传渠道有哪些
  • 网站竞价推广怎么做外贸网络推广营销
  • 网站后台乱码百度一下首页
  • 马鞍山 做网站重庆seo海洋qq
  • 广州地铁站路线图第三波疫情将全面大爆发
  • 遵义做网站哪个公司最好seo自己怎么做
  • 做国外订单用哪个网站建站seo推广
  • fotor懒设计在线设计seo优化收费