【问题标题】:How to display div based on selected multiselect如何根据选定的多选显示 div
【发布时间】:2018-11-21 13:34:49
【问题描述】:

我正在尝试根据多选下拉菜单显示/隐藏元素,但我的代码似乎不起作用。 For example, one of the data for nameList is Name, and when Name is selected, I would like to display a div with another drop-down menu.我正在使用 Angular 和 Typescript。以下是我的代码供您参考:

<kendo-multiselect [data]="nameList" [(ngModel)]="selectedname "></kendo-multiselect>


<div *ngIf="selectedname === 'Name'">
<div class="col-4">
   You selected {{selectedname}}
</div>
<div class="col-2">Name:</div>
<div class="col-6">
  <kendo-dropdownlist style="width: 100%" [data]="anotherList" [valuePrimitive]="true"></kendo-dropdownlist>
</div>
</div>

【问题讨论】:

  • 嘿,你能把You selected {{selectedname}} 放在if 之外,就在第一个kendo-multiselect 的下面,然后给我看输出吗?您将selectedname 视为一个字符串,但我怀疑它是一个对象,因为它不必只存储一个名称。

标签: angular typescript kendo-ui


【解决方案1】:

在“kendo-mutliselecet”的更改事件中,将选定名称项推送到“anotherList”,然后将 kendo-dropdownlist [(ngModel)] 设置为此选定名称。

<div *ngIf="selectedname.indexOf('Name')>=0">

我认为这将是解决方案。未测试。

【讨论】:

    【解决方案2】:

    这里基本上selectedname返回一个数组,所以你需要检查一个项目是否存在于数组中。所以你可以使用下面的代码来检查 -

    <kendo-multiselect [data]="nameList" [(ngModel)]="selectedname "></kendo-multiselect>
    
    
    <div *ngIf="isShown('Name')">
    <div class="col-4">
       You selected {{selectedname}}
    </div>
    <div class="col-2">Name:</div>
    <div class="col-6">
      <kendo-dropdownlist style="width: 100%" [data]="anotherList" [valuePrimitive]="true"></kendo-dropdownlist>
    </div>
    </div>
    
    
    isShown(flag) {
          console.log(this.selectedname.indexOf(flag));
          if (this.selectedname.indexOf(flag) !== -1) {
            return true;
          } else {
            return false;
          }
        }
    

    Working example

    【讨论】:

    • 哈哈,这意味着您在将近 1 年后检查此内容,太棒了:D
    • 其实没有。您的回答很有帮助,但在那段时间里,我不知道我需要接受答案。所以最近(去年 11 月),我实际上是在 Stack Overflow 上,并意识到接受答案会对其他人有所帮助。很抱歉造成误解,但真的:(@Pardeep Jain
    猜你喜欢
    • 2013-10-10
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多