minishouyin/node_modules/rc-table/es/Cell/useHoverState.js

13 lines
570 B
JavaScript
Raw Permalink Normal View History

2025-11-12 11:35:57 +08:00
import { useContext } from '@rc-component/context';
import TableContext from "../context/TableContext";
/** Check if cell is in hover range */
function inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) {
var cellEndRow = cellStartRow + cellRowSpan - 1;
return cellStartRow <= endRow && cellEndRow >= startRow;
}
export default function useHoverState(rowIndex, rowSpan) {
return useContext(TableContext, function (ctx) {
var hovering = inHoverRange(rowIndex, rowSpan || 1, ctx.hoverStartRow, ctx.hoverEndRow);
return [hovering, ctx.onHover];
});
}