数据如下:
listOfData=[ { "name":"标题1", "id":"1" }, { "name":"标题12", "id":"2" }, { "name":"标题123", "id":"3" }, { "name":"标题1234", "id":"4" }, { "name":"标题12345", "id":"5" }, ]
<nz-select > <nz-option *ngFor="let item of listOfData" [nzLabel]="item.name" [nzValue]="item.id" > </nz-option> </nz-select>
使用nz-select时,如果没有指定宽度就会是下面的样子:
如果设置宽度是80px,那么就会变成这样:
<nz-select style="width: 80px;" > <nz-option *ngFor="let item of listOfData" [nzLabel]="item.name" [nzValue]="item.id" > </nz-option> </nz-select>
如果宽度设置成300px,就会变成下面这样:
可以看出,如果宽度设置过长就浪费了很多空间,如果设置了过短就无法显示部分数据。所以我们需要设置自适应宽度。
代码如下:
<nz-select [nzDropdownStyle]="{ width: 'fit-content', 'min-width': '80px' }" style="min-width: 80px;" > <nz-option *ngFor="let item of listOfData" [nzLabel]="item.name" [nzValue]="item.id" > </nz-option> </nz-select>
通过设置最小宽度80px, 然后设置宽度自适应即可。