我正在尝试使用vue js获取带有位置id的位置名称

piok6c0g  于 2023-02-13  发布在  Vue.js
关注(0)|答案(1)|浏览(145)

当我选择的位置,我也想得到的位置名称,但不幸的是得到的位置名称与位置ID错误,请帮助我如何才能解决,谢谢你。

位置列表值

<template>
    <div class="q-gutter-md q-pa-sm col-md-3">
        <q-select
            v-model="location_id"
            filled
            label="Locations"
            :options="api.locations"
            bg-color="white"
            name="location_id"
            dense
            emit-value
            map-options
            option-label="name"
            option-value="id"
            @update:model-value="addLocation"
        />
    </div>
</template>

脚本

methods: {
        getLocations () {
            axios.get(process.env.API_URL + '/lookups/locations')
                .then(({ data: { items } }) => {
                    this.api.locations = items
                })
                .catch((error) => {
                    console.log(error)
                })
        },
        addLocation () {
            let locationName = null
            if (this.location_id != null) {
                locationName = this.api.locations.name
            }
            store.dispatch('location/storeLocation', {
                location_id: this.location_id,
                locations: locationName
            })
        }
    }
bvn4nwqk

bvn4nwqk1#

假设API是一个对象数组你不会在addLocation中搜索位置名.你也确定location_id被设置了吗?如果不是你只是用一个空locationName发送一个存储事件
像这样的事情对你来说会更好

addLocation () {
    let locationName = null
    if (this.location_id) {
        locationName = this.api.locations.find(item => item.id === this.location_id).name;
    }
    if(locationName) {
        store.dispatch('location/storeLocation', {
            location_id: this.location_id,
            locations: locationName
        })
    }
}

有关从this answer搜索数组的详细信息

相关问题