1

我的问题是可以通过双击并使用键盘输入新文本来动态更改 Konva.text 的文本吗?

4

1 回答 1

2

Konva 没有开箱即用的可编辑文本。

文档页面建议在画布顶部放置一个可编辑的 HTML 元素,让用户进行编辑,然后在完成后将其删除。使用这种方法,您的主要问题是在某种程度上保持 Konva 元素和 DOM 元素之间的文本样式一致。否则,两种模式之间的转换可能看起来不像真正的所见即所得。但是,根据您的需要,此解决方案可能足够接近。

另一种方法是创建一个隐藏的textarea/ input,捕获它的事件,并在画布上完全模拟文本交互,如光标移动和文本选择。这将很难正确完成,但可以说会导致更无缝的用户体验。事实上,这就是 fabric.js 对其可编辑文本所做的事情。

于 2020-06-02T00:11:40.213 回答