如何使用角度单击下拉列表?

<div>

    <label> Categories </label>

    <select>

        <option *ngFor = "let category of categories"

                [value] = "category" 

                (click) = "onCategorySelected( category.name )">                

                {{category.name}}


        </option>       

    </select>

</div>

该函数onCategorySelected只是没有被调用。

我必须将用户从下拉列表中选择的值传递给它。

出路何在?


慕斯王
浏览 89回答 2
2回答

一只萌萌小番薯

该option标签不支持该click事件。您可以改为使用标签change上的事件select。您还将一个对象分配给标签value中的属性option,这是不正确的。要将对象分配为值,您需要使用ngValue,如果没有为您分配唯一的 id value,例如。[value]="category.id"。试试这个吧。<select (change)="onCategorySelected($event.target.value)">&nbsp; &nbsp; <!-- If you are using ngModel or formControl, get the value from there instead of using $event.target.value -->&nbsp; &nbsp; <option *ngFor="let category of categories" [ngValue]="category">&nbsp; &nbsp; &nbsp; &nbsp; {{category.name}}&nbsp; &nbsp; </option></select>

白衣非少年

使用这种方式<select (change)="selectionChanged($event.target.value)">&nbsp; &nbsp; ....</select>$event.target.value将发送您更改的选项的值
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5