我正在使用PrimeNG的p-orderList。默认情况下,metaKeySelection属性为true,这意味着需要按下metaKey(ctrl键)才能选择多个项目。我宁愿在寻找一种完全禁用对多个项目的选择的方法。我应该能够在订购列表中选择“仅一项”。 没有可用于p-orderList的metaKey属性。有人可以帮我吗?
<p-orderList [value]="policyList" [listStyle]="{'min-height':'calc(100vh - 325px)'}" (onSelectionChange)="onSelectionChange($event)">
<ng-template let-policy pTemplate="policy">
<span>{{policy}}</span>
</ng-template>
</p-orderList>
PS:每次从有序列表中选择项目时,都会触发onSelectionChange($event)
。 $event.value
包含项目的数组。
答案 0 :(得分:0)
metaKeySelection
输入属性如何? (如here所示)
<p-orderList [metaKeySelection]="false" [value]="policyList" [listStyle]="{'min-height':'calc(100vh - 325px)'}" (onSelectionChange)="onSelectionChange($event)">
<ng-template let-policy pTemplate="policy">
<span>{{policy}}</span>
</ng-template>
</p-orderList>
答案 1 :(得分:0)
没有简单的标志,但是可以通过调用一个函数来实现,该函数基本上将整个选择数组替换为原始选择的行。 您将需要一个变量来存储先前的值以进行比较。
onSelectionChange(event) {
if (event.value.length === 1) {
this.tempValue = event.value[0];
}
else {
event.value = [this.tempValue];
}
}
也可以通过将event.value传递给函数来简化
(onSelectionChange)="onSelectionChange($event.value)">