当我在当前行中写入时换行工作正常但如果我在前一行中尝试编辑,则换行符不起作用。我知道原因是行长度用作行宽的数组索引。所以当我回去编辑时,数组索引保持不变,数组宽度也保持不变,所以无法进入条件。请给出一些解决方案来解决这个问题。
var tempwidth=270;
canvas.on('text:changed', function(e) {
console.log("Line Length",e.target._textLines.length);
console.log("TargetText",e.target);
objTEmp=e.target;
var tLine = e.target._textLines.length;
var lineWidthText = e.target.__lineWidths[tLine-1];
console.log("TargetText",e.target.__lineWidths[tLine-1]);
if (lineWidthText > tempwidth) {
objTEmp.setText(e.target.text+' ');
objTEmp.setText(objTEmp.getText());
objTEmp.selectAll();
objTEmp.setSelectionStart(objTEmp.text.length);
objTEmp.setSelectionEnd(objTEmp.text.length);
tempwidth=270;
canvas.renderAll();
console.log("TargetTextWidth",e.target.width);
console.log("Changed Text Width",tempwidth);
}
});