理解节点的 zIndex
节点的 zIndex 是什么?
可以通过以下方式获取或设置节点的 zIndex:
// get
const zIndex = shape.zIndex();
// set
shape.zIndex(1);
zIndex 只是节点在其父节点 children 数组中的索引。不要混淆 Konva 中的 zIndex 和 CSS 中的 z-index。
const group = new Konva.Group();
const circle = new Konva.Circle({});
group.add(circle);
// it will log 0
console.log(circle.zIndex());
// the next line will not work because the group has only one child
circle.zIndex(1);
// still logs 0
console.log(circle.zIndex());
// for any node this equation will be true:
console.log(circle.zIndex() === circle.getParent().children.indexOf(circle));
不能像在 CSS 中那样使用 zIndex 设置节点的绝对位置。
Konva 严格按照节点在节点树中的定义顺序绘制节点。
操作说明:尝试使用按钮更改图形的 zIndex。观察图形顺序如何变化。
- Vanilla
- React
- Vue