javascript - 填充 vuetify 从 json 数组中选择

标签 javascript vue.js vuejs2 vue-component vuetify.js

我是 VUEJS 的新手,在使用包含 json 对象数组的本地 JSON 文件中的国家/地区名称填充 vuetify select 元素时遇到问题。 它不是填充选项,而是为每个国家/地区创建单个选择对象。

这是我的表格......

<form>
  <v-select v-validate="'required'" v-bind="countryData"
  v-for="item in countryData" :key="item.name" :items="item.name"
  v-model="select" :error-messages="errors.collect('country')"
  label="Country" data-vv-name="country" prepend-icon="mdi-flag"
  required></v-select>
 </form>

这是我的脚本......

<script>
import Vue from "vue";
import VeeValidate from "vee-validate";
import countryData from '@/components/countryData.json';
Vue.use(VeeValidate);
export default {
  name: "signup",
  $_veeValidate: {
    validator: "new"
  },
  data: () => ({
    countryData: countryData,
    country: ''
    })
</script>

这里 JSON 文件结构...

[
    {
        "id": 1,
        "name": "Afghanistan",
        "iso3": "AFG",
        "iso2": "AF",
        "country_code": "4",
        "phone_code": "93",
        "capital": "Kabul",
        "currency": "AFN",
        "states": ["Badakhshan","Badgis"...]
    },
    {
        ...
    }
]

Output of my codes

最佳答案

您不应使用 v-for 将数据添加到 v-select 组件,您只需将 contryData 作为值传递items 属性:

 <v-select v-validate="'required'"  
    :items="countryData"
    item-text='name'
    item-value='id'
    v-model="country" 
    :error-messages="errors.collect('country')"
  label="Country" data-vv-name="country" prepend-icon="mdi-flag"
 required></v-select>

注意“item-name”将控制将显示项目对象中的哪个字段,而“item-value”将是控制所选选项值的字段。我为此选择了“id”,但根据您的用例,您可能会选择“country_code”或其他内容。

关于javascript - 填充 vuetify 从 json 数组中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53783455/

相关文章:

javascript - 通过 jQuery 选择随机 p 节点

javascript - 绑定(bind)时特殊字符后的AngularJs新行

vue.js - 错误 : Cannot find module 'webpack-cli/bin/config-yargs'

css - 如何为更大的屏幕尺寸减少 Vuetify Grid 列宽

javascript - Vuejs全局注册vuefire

javascript - Jquery val() 总是获取第一个选择值,无论选择哪个

javascript - 这个 jQuery 选择是什么意思?为什么我们在 filter() 中使用 "this"?

vue.js - VueJS - 单击时交换组件

javascript - 如何在不失去 react 性的情况下更新 react 性对象(vue 3 组合 API)

javascript - Vuetify - 如何处理 <v-btn>​​ 上的点击事件?