在第一个下拉列表中进行选择之前,如何使底部的两个下拉列表不可见?

时间:2018-10-25 15:37:10

标签: angularjs angular-directive

这是我的代码。这三个下拉列表都是可见的,这是错误的。我只希望第一个下拉列表可见(根据选择的选项,该选项应该使其他两个之一可见)。疯狂的是,当我将示例代码插入html时,ng-if起作用。 / p>

             <!-- real code <status.html>

     <select class="form-control" id="substatus" [(ngModel)]="ddlCorrespondenceStatus">
        <option value="M">Manual</option>
        <option value="G">Complete</option>

      </select>
                 <select *ng-if="ddlCorrespondenceStatus == 'M'" class="form-control" id="substatus" [(ngModel)]="ddlCorrespondenceSubStatus">
          <option value="U">UnroutedTest</option>
          <option value="R">Routed</option>
          <option value="S">Saved</option>

        </select>
        <ss-multiselect-dropdown *ng-if="{ddlCorrespondenceStatus == 'G'" class="report-multiselect"
                                 [disabled]="filterDisabled"
                                 [options]="ddlStatus"
                                 [settings]="genericSearchMSDropdownSettings"
                                 [texts]="statusMSDropdownTextSettings"
                                 [(ngModel)]="selectedStatuses"

此行下方的示例代码可在页面内使用,此行上方的实际代码不适用

 (ngModelChange)="handleQueueSelection($event)">
        </ss-multiselect-dropdown>
 Sample code below this works inside the page, Real Code above does not 
 <div *ngIf="false">
          <a *ngIf="false" routerLink="/login" routerLinkActive="active">Login</a>
        </div>

1 个答案:

答案 0 :(得分:0)

问题

您的代码中存在系统错误。 *ng-if的语法错误。另一个问题是如果条件再次错误,括号内会出现错误。

修复

您必须将*ngIf用作-

<select *ngIf="ddlCorrespondenceStatus == 'M'" 
class="form-control" id="substatus" [(ngModel)]="ddlCorrespondenceSubStatus">