기술나눔

Vue 계단식 드롭다운 상자 선택에 대해 생각 중

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

원래 js 생각에 따르면 계단식 드롭다운 상자를 선택하는 방법은 먼저 첫 번째 수준 드롭다운 상자의 메뉴를 바인딩한 다음 드롭다운 상자 아래의 onchange, onchange 이벤트에서 현재 옵션을 얻는 것입니다. 그런 다음 두 번째 수준 드롭다운 상자 데이터를 바인딩하는 등의 작업을 수행합니다.

Vue 프레임워크에서 생각을 바꿔야 합니다. 먼저 첫 번째 수준 드롭다운 상자의 데이터를 설정한 다음 옵션이 변경되면 두 번째 수준 드롭다운 상자의 데이터를 설정하는 식으로 진행합니다. :

  1. <el-form-item label="省">
  2. <el-select v-model="where.provinceId" placeholder="请选择省份" clearable >
  3. <el-option v-for="item in provinces" :key="item.id" :label="item.name" :value="item.id" />
  4. </el-select>
  5. </el-form-item>
  6. <el-form-item label="市">
  7. <el-select v-model="where.cityId" placeholder="请选择市" clearable>
  8. <el-option v-for="item in cities" :key="item.id" :label="item.name" :value="item.id" />
  9. </el-select>
  10. </el-form-item>
  1. const provinces = ref([])
  2. const cities = ref([])
  3. onMounted(()=>{
  4. // 通过接口获取省份
  5. provinces.value = [...data]
  6. })
  7. watch: {
  8. provinceId: {
  9. deep: true,
  10. handler() {
  11. // 根据接口获取市的数据
  12. cities.value=[...data]
  13. // 清空城市的选择
  14. where.cityId=''
  15. }
  16. }
  17. },