Realice la función de selección en cascada en el lado de la PC

1. Selección en cascada

Descripción: Después de seleccionar una provincia, aparecerán los datos de la ciudad. Si no se selecciona la provincia, los datos de la ciudad estarán vacíos. (2)
inserte la descripción de la imagen aquí
La interfaz API es la siguiente y se pueden buscar los datos de la ciudad. a través del parámetro pcode
inserte la descripción de la imagen aquí
:

Ideas: 1. Vincular el evento de cambio en el cuadro de selección, que se utiliza como un evento continuo, 2. Llame a la interfaz montada para obtener todos los datos en la provincia y luego representarlos en la página, 3. En la función del evento de cambio, llame a la interfaz original para obtener datos provinciales y luego pase el parámetro pcode para obtener los datos de la ciudad correspondientes

<table>
                <tr v-for="(item,index) in list" :key="index">
                    <td>
                        <el-select v-model="formData.province" 
                        @change="provinceChange"
                         clearable
                        placeholder="请选择省" 
                        style="margin-right:5px;"
                        >
                            <el-option
                             v-for="item in provinceList"
                             :key="item.areaCode"
                             :label="item.name"
                             :value="item.areaCode">
                        </el-option>
                        </el-select>
                         <el-select 
                            v-model="formDatacity.city" 
                            placeholder="请选择市" 
                            style="margin-right:5px;"
                              clearable>
                            <el-option
                            v-for="item in cityList"
                             :key="item.areaCode"
                             :label="item.name"
                             :value="item.areaCode"
                            >
                            </el-option>
                        </el-select>
                        <span class="buttonspan" @click="del(index)">-</span>
                    </td>

                </tr>

            </table>

parte js

//data中的数据
data() {
        return {
        //省份数据
        formData:{
            province:'',//省
            city:'',//市
            shortName:'',
            areaCode:'',
       },
       //存放市数据
       formDatacity:{
        areaCode: '',
        cityCode: "",
        id: '',
        lat: "",
        level: 1,
        lng: "",
        mergerName: "",
        name: "",
        parentCode: '',
        pinyin: "",
        shortName: "",
        zipCode: ''
       },
     

       provinceList: [],
       cityList:null,
        value1 : "",
        label1:"",
      
        //
        cityList: [],
        value2 : "",
        label2:"",
        list:[
                {
                   provinceList: [],
                   city: []
                }
            ],
        }
    },
    mounted(){
        
        this.getProvince();
        
    },
     methods:{
        //获取市数据
        getProvince() {
        // 如果本地有省份数据缓存就取缓存,没有则调接口
            const cacheProvince = sessionStorage.getItem('cacheProvince');
            if (cacheProvince) {
                this.provinceList = JSON.parse(cacheProvince)
            } else {
                this.$axios(urlObj.searchLocation).then(res => {
                   if (res.code) return
                    this.provinceList = res.data
                    this.formData = res

                sessionStorage.setItem('cacheProvince', JSON.stringify(res.data))
                })
            }
            
        },
        // 选择省份之后请求市数据   
        provinceChange(){
            const params = {
                "pcode":this.formData.province
            }
            this.$axios(urlObj.searchLocation,params).then(res => {
                this.cityList = res.data
                console.log(this.formDatacity)
            })

        },

    }

Supongo que te gusta

Origin blog.csdn.net/i96249264_bo/article/details/119320355
Recomendado
Clasificación