Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 启动p-orderList可禁用多项选择_Html_Angular_Primeng - Fatal编程技术网

Html 启动p-orderList可禁用多项选择

Html 启动p-orderList可禁用多项选择,html,angular,primeng,Html,Angular,Primeng,我正在使用PrimeNG的p-orderList。默认情况下,metaKeySelection属性为true,这意味着需要按metaKey(ctrl键)来选择多个项目。我在寻找一种完全禁用多个项目选择的方法。我应该只能在有序列表中选择一项。 没有可用于p-orderList的元键属性。有人能帮我吗 <p-orderList [value]="policyList" [listStyle]="{'min-height':'calc(100vh - 325px)'}" (onSelection

我正在使用PrimeNG的p-orderList。默认情况下,metaKeySelection属性为true,这意味着需要按metaKey(ctrl键)来选择多个项目。我在寻找一种完全禁用多个项目选择的方法。我应该只能在有序列表中选择一项。 没有可用于p-orderList的元键属性。有人能帮我吗

<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>

{{policy}

PS:
onSelectionChange($event)
每次从已排序列表中选择项目时都会触发
$event.value
包含项的数组。

关于
metaKeySelection
输入属性如何?(如图所示)


{{policy}

它没有简单的标志,但可以通过调用一个函数来实现,该函数基本上只使用原始选定行替换整个选择数组。 您将需要一个变量来存储以前的值以进行比较

  onSelectionChange(event) {
    if (event.value.length === 1) {
      this.tempValue = event.value[0];
    }
    else {
      event.value = [this.tempValue];
    } 
  }
也可以通过将event.value传递给函数来简化

(onSelectionChange)="onSelectionChange($event.value)">

请更正您的标签!阅读所有标记的内容,并查看实际未使用的标记[metaKeySelection]仅启用一个或多个元素的切换。如果为true(默认情况下),则可以选择一个项目,但需要ctrl键来选择多个项目。如果metaKeySelection为false,则默认情况下可以选择多个项。我想避免这一点。嗯,我认为你不可能做到这一点,正如你在这里看到的:订单列表只处理多个选择。您可以尝试扩展orderlist组件并创建自己的组件。
(onSelectionChange)="onSelectionChange($event.value)">