handsontable插件HOOK事件
Hook插件
- afterChange (
changes: Array
,source: String
):1个或多个单元格的值被改变后调用
changes:是一个2维数组包含row,prop,oldVal,newVal4个属性。
source:其值为一个字符串,值可以为:alter,empty,populateFromArray,loadData,autofill,paste
beforeChange (changes: Array
, source: String
):开始改变单元格前被调用
changes:是一个2维数组,包括[row,prop,oldVal,newVal]这4个公共属性列
source是被改变的资源的名称
afterCellMetaReset ():重置单元格后调用
afterColumnMove (oldIndex: Number
, newIndex: Number
):列顺序被移动后触发
afterRowMove (oldIndex: Number
, newIndex: Number
):行被移动后调用
- afterRowResize (
col: Number
,size: Number
):行高改变后调用
afterRemoveCol (index: Number
, amount: Number
):当一列或多列被移动后调用
其中,index为开始移动的列的索引,amount为移动的列的总数量
afterRemoveRow (index: Number
, amount: Number
):当一行或多行被移动后调用
其中,index为被移动的行的索引,amount为被移动的行的总数量
- beforeRemoveCol (
index: Number
,amount: Number
):一列或多列被移动前调用 - beforeRemoveRow (
index: Number
,amount: Number
):一行或多行被移动前被调用
afterColumnSort (column: Number
, order: Boolean
):列排序后调用
beforeColumnSort (column: Number
, order: Boolean
):列排序前被调用
order:值为true时为升序,false时为降序
afterCreateCol (index: Number
, amount: Number
):添加行后被调用
index:新列的索引
amount:新列的数目
- afterCreateRow (
index: Number
,amount: Number
):添加行后被调用
index:新行的索引
amount:新行的数目
afterGetCellMeta (row: Number
, col: Number
, cellProperties: Object
):获取单元格的配置信息后被调用
beforeGetCellMeta (row: Number
, col: Number
, cellProperties: Object
):获取单元格属性前被调用
afterSetCellMeta(row: Number
, col: Number
, key: String
, value: *
):单元格样式被改变后调用
- afterGetColHeader (
col: Number
,TH: DOM Node
):获取列头信息后被调用
afterGetColWidth (col: Number
, response: Object
):获取列宽后被调用
- afterColumnResize (
col: Number
,size: Number
):列宽度被手动修改后调用
afterCopyLimit (selectedRowsCount: Number
, selectedColsCount: Number
,copyRowsLimit: Number
, copyColsLimit: Number
)
当 copyRowsLimit
或者 copyColumnsLimit
实现时被调用
afterDestroy ():销毁Handsontable实例后被调用
afterInit ():Handsontable实例被初始化后调用
beforeInit ():Handsontable实例被初始化前调用
beforeInitWalkontable():Walkontable实例被初始化前调用
- afterLoadData ():新的数据被加载到数据资源后被调用
- afterOnCellCornerMouseDown (event):鼠标点击单元格边角后被调用
afterOnCellMouseDown (event: Object
, coords: Object
, TD: Object
):点击单元格或行头/列头后被调用
注意:点击行头或列头后索引的坐标为负数。例如点击列头单元格(0,0),则调用后的坐标为(0,-1)。
afterOnCellMouseOver (event: Object
, coords: Object
, TD: Object
):鼠标停悬在单元格或行头/列头后调用
注意:点击行头或列头后索引的坐标为负数。例如点击行头单元格(0,0),则调用后的坐标为(0,-1)。
afterRender (isForced: Boolean
):渲染表格后被调用
isForced:当其值为true表示是通过改变配置或数据引起的渲染,当值为false时表示通过滚动或移动、选中引起的渲染
beforeRender (isForced: Boolean
):渲染前被调用
afterRenderer (TD: Object
, row: Number
, col: Number
, prop: String
, value: String
, cellProperties: Object
):手动渲染后调用
beforeChangeRender ():渲染被改变前调用
afterDeselect ():当前单元格被取消选中时调用
afterSelection (r: Number
, c: Number
, r2: Number
, c2: Number
):当一个或多个单元格被选中后调用
其中,r:选中的单元格起始行,r2:选中单元格的终止行
c:选中的单元格的起始列,c2:选中的单元格的终止列
- afterSelectionByProp (
r: Number
,p: String
,r2: Number
,p2: String
):通过属性名选中单元格后调用 - afterSelectionEnd (
r: Number
,c: Number
,r2: Number
,c2: Number
):选中单元格鼠标抬起后调用
afterSelectionEndByProp (r: Number
, p: String
, r2: Number
, p2: String
):通过属性选中单元格鼠标抬起后调用
afterUpdateSettings ():配置参数配修改后调用
-
afterValidate (
isValid: Boolean
,value: Mixed
,row: Number
,prop: String
,source: String
)当有验证器的时候调用验证器时被调用,验证结果作为第一个参数。
beforeValidate (
value: Mixed
,row: Number
,prop: String
,source: String
):验证器被调用前调用该事件beforeAutofill (
start: Object
,end: Object
,data: Array
):开始自动填充前调动start:是一个第一个填充的单元格对象,例如:{row:4,col:3}
end:是最后一个填充的单元格对象,例如:{row:7,col:5}
data:是一个2维数组
- beforeKeyDown (
event: Object
):按键按下前被调用
beforeSet (var: Object
):单个配置值被设置前调用
beforeSetRangeEnd(coords: Array
):设置范围结束前被调用
coords:是范围坐标
modifyCol(col: Number
):列被修改时调用
modifyRow( row: Number
):行被修改时调用
modifyColWidth (width: Number
, col: Number
):列宽被修改时调用
modifyRowHeight (height: Number
, row: Number
):行高被修改时调用
UndoRedo插件
clear():清楚撤销历史记录
isRedoAvailable():判断取消撤销是否可用
isUndoAvailable():判断撤销操作是否可用
undo():撤销最后的编辑操作
redo():取消撤销操作