业务经理

微信扫描以上二维码

028-61286886

技术咨询

用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
    看看学习一下啊

迅睿系统漏洞

导入微信文章
导入微信文章(2026-09-15)
优化排版缺少文字情况
GEO系统
GEO系统(2026-09-15)
运营客户端,防止误触阴影处关闭对话框
独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...