GraphQL Angular Apollo Client - 根据 HTML 中的复选框值查询动态字段

问题描述

下面是 Angular HTML 和组件逻辑,在具有两个复选框的表单上单击“提交”时,从 html 调用“doGetQuerySpecific()”方法。我需要将这些复选框逻辑映射到 GQL 查询,如组件代码中所示。我想要实现的逻辑在下面以某种方式满足,但这是最佳方式吗?任何其他方式,而不是像这样使用 if 和 else if 条件!!!

我的 .HTML:

            <form action="" (ngSubmit)="doGetQuerySpecific(p2)" #p2="ngForm">
                <div class="form-check">
                    <input type="checkBox" name="name" id="name" value="name" ngModel class="form-check-input">
                    <label class="form-check-label" for="name">Name</label>
                </div>
                <br>
                <div class="form-check">
                    <input type="checkBox" name="access" id="access" value="access" ngModel class="form-check-input">
                    <label class="form-check-label" for="access">Access</label>
                </div>

                <br>
                <br>
                <button type="submit" class="btn btn-danger">Get</button>
            </form>

我的 .ts 代码

doGetQuerySpecific(form: NgForm) {
    this.toHTML = 'Loading...'
    var name1 = false;
    var access1 = false;
    name1 = form.value.name;
    access1 = form.value.access;

    if (name1 == true && access1 == true) {
      var GET_Specific = gql`
      query {
        hello {
          id
          name
          access
        }
      }
      `;
    }

    else if (name1 == true && access1 == false) {
      var GET_Specific = gql`
      query {
        hello {
          id
          name
        }
      }
      `;
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)