【问题标题】:VueJS - Auto Fill Selected Dropdown List Relate FieldVueJS - 自动填充选定的下拉列表相关字段
【发布时间】:2020-07-07 04:55:04
【问题描述】:

我在ProvinceDistrictProvince hasMany District 之间有Related data

我有 Object 这样的东西。

{
        "id": 1,
        "name_eng": "Banteay Meanchey",
        "name_kh": "បន្ទាយមានជ័យ",
        "district": [
            {
                "id": 1,
                "name_eng": "Mongkol Borei",
                "name_kh": "មង្គលបុរី",
                "province": 1
            }
        ]
    },

我有类似于上面的图像,我想要的只是选择Province 987654330 District 987654331 @与相关关系。

在我使用Vuetifyv-autocomplete之间

    <label
        >Pls Select Province/District</label
    >
    <v-autocomplete
        :items="provinces"
        item-id="id"
        item-text="name_kh"
        label="Pls Select Province"
        solo
        v-model="form.province"
        return-object
    >
    </v-autocomplete>
    <v-autocomplete
        :items="provinces"
        item-id="id"
        item-text="name_kh"
        label="Pls Select District"
        solo
        v-model="form.province"
        return-object
    >
    </v-autocomplete>

In script Tag

<script>
import axios from "axios";

export default {
    data() {
        return {
            menu: false,
            loading: false,
            form: {},
            provinces: [],
        };
    },

    created() {
        this.getProvince();
    },

    computed() {},

    methods: {
        getProvince() {
            axios
                .get(`api/v1/province/`)
                .then((res) => {
                    console.log(res);
                    this.provinces = res.data;
                })
                .catch((err) => {
                    console.log(err.response);
                });
        },
    },
};
</script>

感谢您的帮助 :) 谢谢...

【问题讨论】:

    标签: vue.js vuetify.js


    【解决方案1】:

    在地区下拉列表中,您可以按如下所示按所选省份循环播放

    <v-autocomplete
            :items="getDistrictsByProvince(form.province)"
            item-id="id"
            item-text="name_kh"
            label="Pls Select District"
            solo
            v-model="form.province"
            return-object
        >
    </v-autocomplete>
    

    在方法下的脚本标签中:

    getDistrictsByProvince(province) {
      if(province){
        return this.provinces.find(item => item.id === province.id).district
      } else {
        return []
      }
    
    }
    

    【讨论】:

    • 在更正您的代码中的某些部分后,我让它工作。你能详细解释一下你的代码吗??
    • 哪一部分需要明确?
    • return this.provinces.find(item =&gt; item.id === province.id).district 这行兄弟 :)
    • 这一行简单地在得到目标对象后通过省份id对象查找。district可以从省份对象返回一个地区列表
    猜你喜欢
    • 2020-03-31
    • 2020-03-14
    • 1970-01-01
    • 2021-10-04
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    相关资源
    最近更新 更多