vue.js - Vuejs:如何根据自动完成选择更新文本字段
问题描述
vuejs 新手。我有一个具有两个数组道具的 vue 组件:国家和国家详细信息
国家 ->['England', 'Germany']
国家详情 -> [ { country: 'England', capital: 'London' } ]
我可以使用国家/地区数组显示下拉列表。
<v-autocomplete
v-model="category"
:items="countries"
label="Countries" />
当在 countryDetails 数组(英国)中选择并提供相应的国家时,如何让资本显示在用户可编辑的文本字段中,或者当国家在 countryDetails 数组(德国)中不可用时显示一个空的用户可编辑文本字段
<v-text-field
class="mr-2"
v-model="countryDetails[i].capital"
label="Capital" />
解决方案
如果选择与国家详细信息数组中的国家/地区匹配,您应该使用调用设置文本字段 v-model 值的方法的侦听器来处理自动完成更改:
<template>
<div>
<v-autocomplete @change="handleChange"
:items="countries"
label="Countries" />
<v-text-field class="mr-2"
v-model="selectedCountryCapital"
label="Capital" />
</div>
</template>
data() {
return {
selectedCountryCapital : null
}
},
methods: {
handleChange(choice) {
const matchingCountry = this.countryDetails.find(details => details.country === choice);
this.selectedCountryCapital = matchingCountry ? matchingCountry.capital : null;
}
}
推荐阅读
- ftp - sftp批处理文件无法执行
- php - 通过多种语言访问 Session-Var
- javascript - 使用 JavaScript/jQuery 在当前图像之上显示下一个图像
- c# - 如何将智能卡与我的 C# 应用程序集成?
- hyperledger-fabric - Hyperledger Fabric:无法使用 Node SDK 调用
- python - 使用 Python 和 Matplotlib 时如何设置子图之间的距离?
- nginx - 如何通过 nginx 在生产服务器中部署 next.js 项目?
- html - 通过电子邮件发送的可操作消息在 Outlook 中显示空内容
- c# - 如何更改缓存中的项目
- ruby-on-rails - 单元测试:如何测试是否调用了 Rails 迁移?