我正在尝试将文本显式设置为文本框。在较旧的 Fabricjs 版本中
object.setText("something")
曾经有效,但在fabricjs版本2中不再有效。这个版本中是否引入了其他方法?
var canvas = new fabric.Canvas('c');
var text1 = new fabric.Textbox('Text', {
left: 10,
top: 20,
width: 300
})
canvas.add(text1);
canvas.on('text:changed', function(e) {
var objTEmp = e.target;
objTEmp.setText("some");
});
canvas{
border:1px solid #000;
}
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.0.0-rc.4/fabric.js"></script>
<canvas id="c" width="400" height="400" style="border:1px solid #000000;"></canvas>
该构建没有 setter/getter(可选)。如果你想设置文本,你可以使用
obj.text = text;
//or
obj.set({
text:text
});
//or
obj.set('text', text);
演示
var canvas = new fabric.Canvas('c');
var text1 = new fabric.Textbox('Text', {
left: 10,
top: 20,
width: 300
})
canvas.add(text1);
canvas.on('text:changed', function(e) {
var objTEmp = e.target;
objTEmp.set({
text : "some"
});
});
canvas{
border:1px solid #000;
}
<script type="text/javascript" src="
https://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.0.0-rc.4/fabric.js"></script>
<canvas id="c" width="400" height="400" style="border:1px solid #000000;"></canvas>
您可以在此处构建您自己的 Fabric.js 版本:http://fabricjs.com/build/
选中“命名访问器”以恢复对 setter 和 getter 的支持。不推荐也不支持,谁知道它会在那里停留多久,但如果您现在只需要一个快速解决方案,那就可以了。