You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js如何从JSON数据填充汽车品牌与车型两个联动下拉框

联动下拉选择框修复代码

关键修改说明

  • 品牌下拉框改用v-model直接绑定选中索引,不需要额外写change事件手动赋值,减少冗余代码
  • 车型下拉框直接遍历当前选中品牌的models数组,不再遍历全量品牌列表,从根源避免出现多余null/undefined选项
  • 车型选项直接读取遍历对象的name属性展示,修正车型名称不显示的问题
  • 新增selectedModel变量绑定车型下拉选中值,品牌切换时自动更新为当前车型列表第一项,实现默认选中效果

完整代码

<template>
  <div>
    Make:<select v-model.number="selectedIndex">
      <option
        v-for="(item, index) in logitems"
        :key="index"
        :value="index"
      >
        {{ item.name }}
      </option>
    </select>

    Model:<select v-model="selectedModel">
      <option
        v-for="(model, index1) in logitems[selectedIndex].models"
        :key="index1"
        :value="model.name"
      >
        {{ model.name }}
      </option>
    </select>
  </div>
</template>

<script>
import logs from "../assets/car-makes.json";
export default {
  data() {
    return {
      logitems: logs,
      selectedIndex: 0,
      selectedModel: ''
    };
  },
  watch: {
    // 品牌切换时自动选中第一个车型
    selectedIndex: {
      immediate: true,
      handler(val) {
        this.selectedModel = this.logitems[val].models[0].name
      }
    }
  }
};
</script>

内容的提问来源于stack exchange,提问作者Naim R.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:54:03