javascript - 使用基于 json 文件的值检查输入值
问题描述
我正在与BootstrapVue
.
我有两个b-form-inputs
第一个将从查询字符串中自动填充。现在我需要ID
在我的其他 b-form-input 中编写 ,并想检查ID
我的 json 文件中的 (基于 my Name
)是否等于我输入的 ID。
比我validDataAdded: function ()
应该返回的那个按钮将被启用 - 这是我的问题,我实际上不知道如何解决这个问题..
谢谢你!
我的模板:
<template>
<b-card class="mt-5 col-md-6">
<div class="mt-2">Name</div>
<b-form-input :disabled="true" v-model="this.Name" :value="this.Name"></b-form-input>
<div class="mt-4">ID</div>
<b-form-input type="number"></b-form-input>
<b-button :disabled="!validDataAdded">Login</b-button>
</b-card>
</template>
我的脚本:
<script>
export default {
name: "test",
data() {
return {
data: [
{
"Name": "Harry",
"ID": "1234",
},
{
"Name": "Ron",
"ID": "4321",
},
{
"Name": "Snape",
"ID": "1973",
}
]
};
},
methods: {
validDataAdded: function () {
return //NEED CODE HERE
},
},
};
</script>
解决方案
据我了解,您的属性Name
将在您的中可用template
,如果有人在 `` 中输入一个数字,您想检查您的data
数组是否包含该数字和 的匹配对Name
。如果是,您可以尝试以下方法:
<b-card class="mt-5 col-md-6">
<div class="mt-2">Name</div>
<b-form-input :disabled="true" v-model="this.Name" :value="this.Name"></b-form-input>
<div class="mt-4">ID</div>
<b-form-input type="number" v-model="this.Number" @keyup="validDataAdded(this.Name, this.Number)"></b-form-input>
<b-button :disabled="!disabledButton">Login</b-button>
</b-card>
对于这种方法,您需要两个新属性,disabledButton
并且Number
. Number
将是v-model
用户输入的 ,所以我们可以在validDataAdded
. 移至此功能是b-form-input type="number"
因为您需要触发它。最初disabledButton
应该是。false
这将是函数的一个示例validDataAdded
:
validDataAdded(name, number) {
Object.keys(this.data).forEach(key => {
if((this.data[key].Name === name) && (this.data[key].ID === number)) {
this.disabledButton = true;
}
});
}
通过name
并number
循环遍历您的并data
检查是否匹配该对。如果是,则设置为。name
number
disabledButton
true
推荐阅读
- nsfilemanager - 从 UIDocumentBrowserViewController 中的 UserDefaults 以编程方式打开文档
- reactjs - Next.js 状态更改不重新渲染 UI
- python - 使用二值化、采样和均值聚合的组合按相同键列分组
- javascript - 如何在 onPress 函数中访问 React Native 标签或元素的属性?
- django - 调用模块的模块不起作用。为什么?
- graphql - 如何基于GraphQL在nestjs中实现Auth0策略
- regex - 从字符串 Google 表格中提取文本
- azure - 天蓝色计算将事件推送到 Azure EventGrid 的速度是否很慢?有没有办法更快地获取事件?
- android - 如何在点击Android时更改按钮?
- cloud-foundry - Space Drain 无法重新暂存:无法从 UAA 获取令牌