【问题标题】:Handsontable, disable edit but allow values from drop down for cellsHandsontable,禁用编辑,但允许单元格下拉值
【发布时间】:2020-03-28 06:23:54
【问题描述】:

我正在使用 Handsontable,其中有一列包含下拉类型的单元格。

问题是我可以使用delete键来删除单元格值,这不是下拉菜单中的选项,不应该被允许!

如何禁用该列的删除按钮,或者禁用所有编辑但仍允许更改该列的下拉值?

这是一个链接to a StackBlitz

谢谢!

【问题讨论】:

  • 请分享组件js和组件html
  • 我现在添加了一个 stackblitz。
  • @mottosson 我在下面写了一个答案。这对你有帮助吗?

标签: javascript angular handsontable


【解决方案1】:

阻止删除的一种方法是使用 Handsontable 提供的 beforeChange 挂钩,如果新值为 null,则丢弃更改。

在您的表格设置中,添加以下属性:

beforeChange: (changes, source) => {
  // changes is an array of change => [[row, col, oldValue, newValue], ...]
  if (changes[0][1] === 1 && changes[0][3] === null) {
    changes[0] = null;
  }
}

如果同时只有一个删除,这将起作用。但是,如果您允许用户一次编辑多个单元格,您将不得不处理循环中的每个更改。但我想你明白了。

Updated stackblitz

【讨论】:

  • 理想情况下,Handsontable 将支持仅允许下拉列表中的值。但是你已经回答了我的问题。谢谢!
猜你喜欢
  • 2017-12-25
  • 1970-01-01
  • 2010-11-22
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-01
  • 1970-01-01
相关资源
最近更新 更多