【问题标题】:Disable row selection and just allow checkbox to be selected in Mutliselect of PrimeNG禁用行选择,只允许在 PrimeNG 的 Mutliselect 中选择复选框
【发布时间】:2020-12-12 14:42:18
【问题描述】:

我正在处理我使用 PrimeNG 多选的要求。这个多选有一个复选框,后面跟着文本。我想禁用行选择,只允许选择这些行的复选框。下面是示例: Scenerio 用截图解释:

如果我点击文本“1 文本”、“2 文本”等,这些值被选中,但我想禁用此选择,只允许复选框选择。

这里是 stackblitz 示例供参考:Stackblitz Demo click here

我在组件 html 中使用的以下代码: <p-multiSelect [options]="items" defaultLabel="Select items" [showHeader]="false" </p-multiSelect>
下拉列表中使用的数组项的代码:

items: SelectItem[] = [
  { value: 1, label: '1 text' },
  { value: 2, label: '2 text ' },
  { value: 3, label: '3 text' },
 ];
}

【问题讨论】:

    标签: javascript angular primeng


    【解决方案1】:

    查看Stackblitz link


    解决方案 1: 由于此选择是 primeNg multiSelect 的默认行为,因此对于 p-multiSelect 的 onChange 事件发射器,我正在删除添加的值或在取消选择值上添加删除的值。

    解决方案 2: 使用event.stopPropagation(),但这仅在我单击标签但单击行仍选择/取消选择值时才有效。

    【讨论】:

    • 感谢您提供的解决方案,我必须说它非常具有描述性,并且在我的情况下效果很好。我需要为我的要求提供扩展支持,如果您能帮助我解决这个问题,这将很有帮助,如下场景:我在 multiselelct 中的每个值都有一个图标,当我点击它时它会显示一个弹出窗口,问题是当我点击确定时弹出的多选下拉菜单关闭,我不想关闭它,有没有办法找出解决方案,stackblitz 示例创建:click here
    • 已添加Stackblitz
    • 你是摇滚明星!!您的解决方案是完美的,非常感谢您宝贵的时间和帮助我,我提出了另一个问题来解决这个问题,如果您可以在那里回答同样的问题,我也可以在那里给您投票。链接:stackoverflow.com/questions/65284562/…
    猜你喜欢
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 2012-05-19
    • 2017-02-25
    • 1970-01-01
    相关资源
    最近更新 更多