TextBlock
是用于显示文本信息的对象。
通过设置TexkBlock.text
属性来显示文本信息,这也是唯一的一个方法。因为TexkBlock
继承自GraphObject
,所以一些GraphObject
的属性也有可能对文本有影响。
字体和颜色
可以通过TexkBlock.font
属性设置文本的字体,该属性的值可以使用CSS来设置。
可以通过TextBlock.stroke
属性设置文本字体的颜色,同样可以使用CSS来设置。
因为TexkBlock
继承自GraphObject
,所以GraphObject.background
属性也可以作用于TextBlock
,可以通过该属性设置文本背景色。
|
|
结果:
尺寸和裁剪
TexkBlock
的自然尺寸是会自适应设置文本的字体以及文本长度的。但是实际上它的尺寸是可大可小的。
下面的例子中首先展示了自然尺寸的TextBlock
,然后对其进行明确的尺寸设置,并给与绿色背景:
|
|
结果:
文本自适应
TextBlock
也可以使文本信息在规定的尺寸内自动换行,以达到自适应尺寸。可以通过TextBlock.wrap
属性来设置,该属性不能为空,必须对其进行属性设置。
下面的例子中,第一个使用自然尺寸,第二个规定了宽度,第三第四个在规定相同宽度的基础上设置了TextBlock.wrap
属性:
|
|
结果:
文本对齐
使用TextBlock.textAlign
属性可以设置文本的对齐方式。
这里注意TextBlock.textAlign
与GraphObject.alignment
是不同的,前者是针对文本的对齐方式,后者是针对所在容器的对齐方式:
|
|
结果:
对齐方式、换行、自适应
TextBlock.textAlign
不管在自然尺寸中处理多行还是在规定尺寸中处理多行都很好用。
TextBlock.isMultiline
属性用于设置是否开启内嵌文本中的换行符作用。
TextBlock.wrap
属性在处理换行时就更加游刃有余,它会根据TexkBlock
的尺寸自动对文本进行换行。
|
|
结果:
编辑文本
GOJS也提供了对TextBlock
文本的编辑功能,只需要设置TextBlock.editable
为true
即可。
如果你想对TextBlock
中的文本进行某种规则的验证,那么可以设置TextBlock.textValidation
属性,该属性的值为function
,你可以自行编写验证规则。你甚至可以更换文本编辑器,设置TextBlock.textEditor
属性即可。
|
|
结果: