javascript - 将查询字符串与基于 json 文件的输入信息进行比较
问题描述
我正在使用BootstrapVue
- 我用 URL + 查询字符串打开我的本地主机key
。现在我想key
根据我的输入 ID 检查我的查询字符串是否等于我在 json 数据中的键。
所以我需要这些步骤:
- 获取查询字符串的键(这个
this.key
你可以在我的 中看到mounted()
) - 根据 json 文件获取我输入的 ID 的密钥
- 比较它们并返回可以单击我的按钮(如果它们匹配)
所以我的目标如下:只有当我基于输入 ID 的 json 的键等于我的查询字符串的键时,才会启用该按钮。
我打开 localhost 的 URL:http://localhost:8080/?key=RxGxQZuLjGhFcdtQctJfcJejRPwEPety
<template>
<b-card class="mt-5 col-md-6">
<div v-if="hide" class="mt-3">
<div class="mt-2">Name</div>
<b-form-input v-model="data.Name" type="text"></b-form-input>
<div class="mt-2">ID</div>
<b-form-select :options="filterID" type="number" v-model="data.ID"></b-form-select>
<b-button :disabled="!validDataAdded">
Login
</b-button>
</div>
</b-card>
</template>
<script>
export default {
name: "login",
data() {
return {
data: [
{
"Name": "Max",
"ID": "1",
"key": "RxGxQZuLjGhFcdtQctJfcJejRPwEPety"
},
{
"Name": "Peter",
"ID": "2",
"key": "nFQetmxrRtWrYFVXcmFdgBuCmqLGDeNj"
},
{
"Name": "Harry",
"ID": "3",
"key": "TSNcLYRepucVGxBFvgUfMGbNgATUPFvr"
},
],
hide: false,
};
},
mounted() {
const urlParams = new URLSearchParams(window.location.search);
const params = Object.fromEntries(urlParams.entries());
this.key= params.key;
if (this.key == null) {
this.hide = false;
} else {
if(data.some(item => item['key'] === this.key)) {
this.hide = true;
} else {
alert("ACCESS DENIED!")
}
}
},
computed: {
filterID: function () {
var array = this.data.map((input) => input.ID);
return array.sort((a, b) => {
if (a < b) return -1;
if (a > b) return 1;
return 0;
});
},
validDataAdded: function () {
return //HERE I NEED TO CHECK
},
},
};
</script>
解决方案
您只需要检查密钥的电流是否key
相等queryString
methods: {
validDataAdded: function (key) {
return this.key == key;
},
}
另外,将查询字符串添加key
到您的data
对象
最后,您需要key
像这样将记录传递给函数
<b-button :disabled="!validDataAdded(data.key)">
Login
</b-button>
推荐阅读
- junit - 在不同的测试方法中未返回预期值时的 Mockito
- c# - Azure 配置应用程序设置中的字典
- java - seekbar 在片段上指向 null 错误的进度
- flutter - 在 Flutter 的 ButtonBar 中添加 TextField
- c++ - 如何在 Windows 10 的自定义凭据提供程序中更改 LOCK 场景 CPUS_UNLOCK_WORKSTATION 条件下用户的域密码
- xml - 将 XML 转换为 AVRO - 带有封闭属性和元素值的 xml 元素
- ubuntu - 当我使用 client_body_temp_path 时,Linux(Ubuntu)和 Nginx 权限在另一个磁盘上
- vue.js - Vuejs:在 [__ob__: Observer] 中获取价值
- javascript - 反应本机 RNFetchBlob 创建文件未创建正确的文件
- c++ - 在这种情况下可以避免模板专业化吗?