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

江苏市场监督管理局电话东莞关键词优化平台

江苏市场监督管理局电话,东莞关键词优化平台,wordpress网页没法评论,亚马逊购物el-cascader对于懒加载有支持方法&#xff0c;小难点在于回显的时候&#xff0c;由于懒加载第一次只有一层&#xff0c;所以要根据选中id数组一层层的加载。 子组件 <template><el-cascaderref"cascaderRef"v-model"selectedValue":props"…

el-cascader对于懒加载有支持方法,小难点在于回显的时候,由于懒加载第一次只有一层,所以要根据选中id数组一层层的加载。

子组件

<template><el-cascaderref="cascaderRef"v-model="selectedValue":props="CascaderProps":disabled="disabled"style="width: 500px"/>
</template>
  
<script setup>
import { ref, onMounted, defineEmits } from "vue";
import { ElCascader } from "element-plus";
import { listByParent, listParentByChild } from "@/api/common.js";
const cascaderRef = ref();
const props = defineProps({modelValue: [String, Number],disabled: {type: Boolean,default: false,},
});
const selectedValue = ref([]); // 选中的id数组const emit = defineEmits(["update"]); // 更新父组件的值
const CascaderProps = {lazy: true, // 懒加载checkStrictly: true, // 选择任意一项lazyLoad(node, resolve) {const { level, pathValues } = node;listByParent({adiId: node.value,}).then((res) => {const nodes = res.data.map((item) => {return {...item,label: item.name,value: item.adiId,leaf:(pathValues[0] == "330000000000" && level == 4) ||(pathValues[0] != "330000000000" && level == 2)? true: false, // 浙江地区层级和别的省层级不一样,true表示最后一层};});resolve(nodes);});},
};
// 回显逻辑
onMounted(async () => {selectedValue.value = []; // 重置setTimeout(async () => {// 延迟执行if (props.modelValue) {// 存在值let ids = await listParentByChild({type: 1,childAdiId: props.modelValue,}); // 获取父级id数组ids = ids.data.map((item) => item.adiId);selectedValue.value = ids.reverse(); // 调换顺序,省市区顺序await resolveCascaderNodes(selectedValue.value);}}, 1000);
});// 递归解析路径
const resolveCascaderNodes = async (ids) => {const nodes = [];let currentParent = "";// 加载子节点路径for (const id of ids) {const children = await listByParent(currentParent);const target = children.data.find((item) => item.id === id);if (target) {nodes.push(target);currentParent = id;}}return nodes;
};
// 监听值变化
watch(selectedValue, (val) => {if (val.length) emit("update", val[val.length - 1]);
});
</script>

父组件

                  <AreaCascader:key="new Date().getTime()":disabled="disabled":modelValue="form.concatAddress"@update="update"/>

key是为了每次使用都刷新,不加不会每次调用onMounted里的方法
form.concatAddress的值是最后一个区划id,在子组件里面要用接口获取到完整的id数组

import AreaCascader from "@/components/Cascader/index.vue";const update = (val) => {form.value.concatAddress = val;
};

记录一下

http://www.dtcms.com/wzjs/75867.html

相关文章:

  • 免费发布信息网站大全注册网站优化的关键词
  • 抖音代运营一般收费seo搜索优化排名
  • 做网站后端接推广app任务的平台
  • 网站建设代码优化长沙seo搜索
  • html基本结构代码湘潭网站seo磐石网络
  • 套b网站seo建站营销
  • 武汉企业网站营销设计windows优化大师收费
  • 亚马逊电商平台怎么入驻seo公司是做什么的
  • wordpress enigma泰州seo网络公司
  • 哪里建设企业网站网站如何让百度收录
  • 做电商网站要服务器吗google官方下载app
  • 哪些网站做的不好用网站关键字优化
  • 河南安阳吧郑州网站制作选择乐云seo
  • 淮南网站设计seo顾问公司
  • 跟做网站相关的法律站长工具seo综合查询访问
  • 怎么做淘宝客导购网站北京网站优化对策
  • 合肥的网站建设剂屏河北网站推广
  • 一个网站建设10万元网络营销概述
  • 会员管理系统代码百度地图优化排名方法
  • 建设网站 请示 报告长沙优化网站推广
  • 网站首页页面设计模板百度搜索热度查询
  • 网站改版做301种子资源
  • 可以随意建国际商城的网站吗广州网站优化推广方案
  • 有哪些公司的网站做的比较好网站建设公司开发
  • 做特卖的网站有百度收录检测
  • 周口网站制作黄页引流推广网站
  • 做建网站的公司seo属于技术还是营销
  • 制作个人网站要多少钱长沙大型网站建设公司
  • dw怎么做网站跳转广州网站优化外包
  • 做微商网站公司公司官网开发制作