Rumah > hujung hadapan web > View.js > teks badan

Pembangunan komponen Vue: kaedah pelaksanaan komponen pemilih bandar

王林
Lepaskan: 2023-11-24 08:29:05
asal
1762 orang telah melayarinya

Pembangunan komponen Vue: kaedah pelaksanaan komponen pemilih bandar

Pembangunan komponen Vue: Kaedah pelaksanaan komponen pemilih bandar

Dalam pembangunan Vue, komponen pemilih bandar adalah komponen yang sangat biasa dan praktikal. Ia biasanya digunakan untuk operasi interaktif apabila pengguna memilih bandar atau wilayah. Artikel ini akan memperkenalkan kaedah pelaksanaan komponen pemilih bandar berasaskan Vue dan memberikan contoh kod khusus.

  1. Analisis Keperluan
    Sebelum kita mula menulis kod, kita perlu menjelaskan terlebih dahulu keperluan komponen tersebut. Pemilih bandar perlu mempunyai fungsi berikut:
  2. Paparkan senarai pilihan wilayah
  3. Paparkan senarai bandar yang sepadan secara dinamik berdasarkan wilayah yang dipilih
  4. #🎜🎜 # Berdasarkan bandar yang dipilih, paparkan senarai wilayah yang sepadan secara dinamik
  5. Dapatkan bandar dan wilayah yang akhirnya dipilih oleh pengguna
  6. Reka bentuk struktur komponen
  7. Mengikut keperluan, kita boleh memilih bandar Komponen pemilih dibahagikan kepada tiga sub-komponen: Pemilih Wilayah (pemilih wilayah), Pemilih Bandar (pemilih bandar) dan Pemilih Kawasan (pemilih wilayah). Antaranya, komponen ProvinceSelector dan CitySelector boleh berkomunikasi dengan menghantar prop dan acara. Struktur keseluruhan komponen adalah seperti berikut:
  8. <template>
      <div class="city-selector">
        <ProvinceSelector @provinceChange="handleProvinceChange" />
        <CitySelector :province="selectedProvince" @cityChange="handleCityChange" />
        <AreaSelector :city="selectedCity" @areaChange="handleAreaChange" />
        <div class="selected-result">
          <p>已选城市:{{ selectedCity }}</p>
          <p>已选区域:{{ selectedArea }}</p>
        </div>
      </div>
    </template>
    
    <script>
    import ProvinceSelector from './ProvinceSelector.vue'
    import CitySelector from './CitySelector.vue'
    import AreaSelector from './AreaSelector.vue'
    
    export default {
      components: {
        ProvinceSelector,
        CitySelector,
        AreaSelector
      },
      data() {
        return {
          selectedProvince: '',
          selectedCity: '',
          selectedArea: ''
        }
      },
      methods: {
        handleProvinceChange(province) {
          this.selectedProvince = province
          this.selectedCity = ''
          this.selectedArea = ''
        },
        handleCityChange(city) {
          this.selectedCity = city
          this.selectedArea = ''
        },
        handleAreaChange(area) {
          this.selectedArea = area
        }
      }
    }
    </script>
    Salin selepas log masuk
    Pelaksanaan sub-komponen
  1. Seterusnya, kami menulis pemilih wilayah, pemilih bandar dan pemilih wilayah masing-masing.
ProvinceSelector.vue:

<template>
  <div class="province-selector">
    <select v-model="selectedProvince" @change="handleChange">
      <option v-for="province in provinces" :key="province" :value="province">{{ province }}</option>
    </select>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selectedProvince: ''
    }
  },
  computed: {
    provinces() {
      // 从后台或静态数据获取省份列表
      return ['北京', '上海', '广东', '江苏']
    }
  },
  methods: {
    handleChange() {
      this.$emit('provinceChange', this.selectedProvince)
    }
  }
}
</script>
Salin selepas log masuk

CitySelector.vue:

rreee#🎜🎜.#Area🎜🎜.#Area🎜🎜 🎜 #

Gunakan komponen

Selepas melengkapkan penulisan komponen, cuma perkenalkan di mana anda perlu menggunakan pemilih bandar:

    <template>
      <div class="city-selector">
        <select v-model="selectedCity" @change="handleChange">
          <option v-for="city in cities" :key="city" :value="city">{{ city }}</option>
        </select>
      </div>
    </template>
    
    <script>
    export default {
      props: {
        province: {
          type: String,
          default: ''
        }
      },
      data() {
        return {
          selectedCity: ''
        }
      },
      computed: {
        cities() {
          // 根据选择的省份从后台或静态数据获取城市列表
          if (this.province === '北京') {
            return ['北京市', '朝阳区', '海淀区']
          } else if (this.province === '上海') {
            return ['上海市', '黄浦区', '徐汇区']
          } else if (this.province === '广东') {
            return ['广州市', '深圳市', '珠海市']
          } else if (this.province === '江苏') {
            return ['南京市', '苏州市', '无锡市']
          } else {
            return []
          }
        }
      },
      watch: {
        province(newValue) {
          this.selectedCity = ''
        }
      },
      methods: {
        handleChange() {
          this.$emit('cityChange', this.selectedCity)
        }
      }
    }
    </script>
    Salin selepas log masuk
  1. Di atas ialah Vue- berasaskan Kaedah Pelaksanaan komponen pemilih bandar. Dengan memisahkan dan melaksanakan fungsi setiap subkomponen, kami boleh menggabungkan dan memanggil subkomponen ini secara fleksibel untuk melaksanakan pemilih bandar yang lengkap. Saya harap artikel ini akan membantu anda memahami dan mempelajari pembangunan komponen Vue.

Atas ialah kandungan terperinci Pembangunan komponen Vue: kaedah pelaksanaan komponen pemilih bandar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan