【问题标题】:check inputed value with value based on json file使用基于 json 文件的值检查输入值
【发布时间】:2021-11-27 13:08:58
【问题描述】:

我正在与BootstrapVue 合作。

我有两个b-form-inputs,第一个将从查询字符串中自动填充。现在我需要在我的另一个 b-form-input 中写入 ID 并想检查我的 json 文件中的 ID(基于我的 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>

【问题讨论】:

  • 你的具体问题是什么?
  • 如何解决这个问题——我检查了我写的ID 和我的IDID 的手册

标签: javascript vue.js vuejs2 bootstrap-vue


【解决方案1】:

据我了解,您的属性 Name 将在您的 template 中可用,如果有人在 `` 中输入数字,您想检查您的 data 数组是否包含该数字和 @ 的匹配对987654324@。如果是,您可以尝试以下方法:

<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>

对于这种方法,您需要两个新属性,disabledButtonNumberNumber 将是用户输入的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;
        }
      });
    }

通过 namenumber 它循环通过您的 data 并检查 namenumber 是否匹配该对。如果是,则将disabledButton 设置为true

【讨论】:

  • 完美——效果很好!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-29
  • 2015-01-30
  • 2020-11-17
  • 1970-01-01
  • 1970-01-01
  • 2013-04-09
相关资源
最近更新 更多