Свойство maxlength для itext в fabric.js

Есть ли свойство maxlength для itext с использованием библиотеки fabric.js? Если нет, то как можно закодировать его так, чтобы он был таким же плавным и последовательным, как свойство maxlength html/javascript? Я работал над одним, но он не такой беглый, как свойство maxlength. Проблема с моим заключается в том, что он добавит символ, а затем удалит его, чтобы пользователь мог видеть, как это происходит... в отличие от свойства maxlength, где он просто перестает принимать ввод.


person ShanerM13    schedule 27.11.2019    source источник


Ответы (1)


Вы можете добавить maxlength к hiddenTextarea в событии editing:entered текстового объекта.

const canvas = new fabric.Canvas('c');
const text = new fabric.IText('Hello');
text.on('editing:entered', () => {
  text.hiddenTextarea.setAttribute('maxlength', 5);
})
canvas.add(text);
canvas {
  border: 1px solid #999;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.4.0/fabric.js"></script>
<canvas id="c" width="600" height="600"></canvas>

person Durga    schedule 27.11.2019
comment
Я знал, что это будет так просто. Я не смог найти свойство в документации. Где/как вы его нашли? Большое спасибо! - person ShanerM13; 30.11.2019
comment
@ShanerM13 работал с этой библиотекой 2 года, может быть, это помогло. ;) - person Durga; 30.11.2019