用VUE+AXIOS实现联动菜单三级联动

迅睿框架 更新 2026-07-11 12:12:06 小昕

用VUE+AXIOS实现联动菜单三级联动


在PAY字段、通用订单、商城中,

需要填写地址的地方,官方是用jquery.ld.js 来实现三级联动,

由于不想用JQ,所以用VUE+AXIOS把菜单的三级联动重新了一次。

  <div id="app">
    <select v-model="selectedRegion1" @change="onRegion1Change">
      <option value="">请选择</option>
      <option v-for="region in regions" :value="region.region_id">{{ region.region_name }}</option>
    </select>
    <select v-model="selectedRegion2" @change="onRegion2Change" v-if="subRegions1.length > 0">
      <option value="">请选择</option>
      <option v-for="region in subRegions1" :value="region.region_id">{{ region.region_name }}</option>
    </select>
    <select v-model="selectedRegion3" v-if="subRegions2.length > 0">
      <option value="">请选择</option>
      <option v-for="region in subRegions2" :value="region.region_id">{{ region.region_name }}</option>
    </select>
  </div>

JS部份

<script>
new Vue({
  el: '#app',
  data() {
    return {
      regions: [],
      subRegions1: [],
      subRegions2: [],
      selectedRegion1: '',
      selectedRegion2: '',
      selectedRegion3: ''
    };
  },
  mounted() {
    this.getRegions();
  },
  methods: {
    getRegions() {
      axios.get('index.php?s=api&c=api&m=linkage_ld&mid=order&file=&code=twd')
        .then(response => {
          this.regions = response.data.data;
        })
        .catch(error => {
          console.error(error);
        });
    },
    onRegion1Change() {
      this.subRegions1 = [];
      this.subRegions2 = [];
      this.selectedRegion2 = '';
      this.selectedRegion3 = '';
      if (this.selectedRegion1) {
        axios.get(`index.php?s=api&c=api&m=linkage_ld&mid=order&file=&code=twd&parent_id=${this.selectedRegion1}`)
          .then(response => {
            this.subRegions1 = response.data.data;
          })
          .catch(error => {
            console.error(error);
          });
      }
    },
    onRegion2Change() {
      this.subRegions2 = [];
      this.selectedRegion3 = '';

      if (this.selectedRegion2) {
        axios.get(`index.php?s=api&c=api&m=linkage_ld&mid=order&file=&code=twd&parent_id=${this.selectedRegion2}`)
          .then(response => {
            this.subRegions2 = response.data.data;
          })
          .catch(error => {
            console.error(error);
          });
      }
    }
  }
});
</script>


方案

  • 马拉糕 #1 · 2024-01-02 21:50:44
    看看看看看看看看看看看看
  • 四分音符 #2 · 2025-03-17 16:29:33
    看看看看看看看看看看看看
  • 风凌君 #3 · 2025-03-17 17:25:40
    学习一下看看怎么写,感谢大佬分享
  • 张某某某 #4 · 2025-04-07 16:21:33
    学习一下看看怎么写,感谢大佬分享
  • qq.gg #5 · 2025-10-15 17:35:15
    学习一下看看怎么写,感谢大佬分享
  • 搞定他 #6 · 2026-01-08 09:00:29
    看看学习一下啊
  • 耗子舞 #7 · 2026-01-09 12:34:18
    类似筛选器吗?
  • 木木建站 #8 · 2026-01-13 15:22:55
    • 看看看看看看看看看看看看
  • 阿飞 #9 · 2026-01-23 14:47:40
    类似筛选器吗?
  • 小白白 #10 · 2026-03-27 12:33:42
    学习一下看看怎么写,感谢大佬分享
  • 阿杰001 #11 · 2026-07-11 12:12:06
    看看学习一下啊

迅睿系统漏洞

GeoSeo收录宝
GeoSeo收录宝(2026-09-01)
升级 ai智能发布功能 升级 支持8国语言后端设置和前端输出功能 ...
Word发布批量上传
Word发布批量上传(2026-08-31)
版本覆盖问题重发
多语言翻译Seolang
多语言翻译Seolang(2026-08-31)
新增 LLM 大模型对话翻译模块 配置层强类型化重构 URL 模...
自定义存储
自定义存储(2026-08-30)
同步服务器端通用版实现,统一管理端、CMS 端和浏览器直传的提示与错...
GeoSeo工具箱
GeoSeo工具箱(2026-08-29)
新增 bing推送 新增 IndexNow推送 新增 baidu...
外贸多语言建站
外贸多语言建站(2026-08-27)
新增阿里云专业版入口 新增阿里云自动识别字符格式
Querylist渐进式采集
Querylist渐进式采集(2026-08-26)
增加范围截取规则
实时任务
实时任务(2026-08-26)
补充并整理完整使用说明、历史版本更新日志,统一帮助页样式。