我正在尝试在jointjs中创建自定义元素,但是我有点陷入打字稿中类型的问题。我不知道如何扩展我的名称空间/接口,因此我可以轻松地创建新的jointjs元素。
我正在使用React,但我认为这不会有所帮助。
我遇到的错误是
元素隐式地具有“ any”类型,因为类型的表达式 '“ html”'不能用于索引类型'typeof形状'。属性 'html'在类型'typeof形状'中不存在
错误> joint.shapes ['html'] = {};
import * as joint from 'jointjs';
const BeerObject = (graph: joint.dia.Graph) => {
joint.shapes['html'] = {};
joint.shapes['html'].Element = joint.shapes.basic.Rect.extend({
defaults: joint.util.deepSupplement({
type: 'html.Element',
attrs: {
rect: { stroke: 'none', 'fill-opacity': 0 }
}
}, joint.shapes.basic.Rect.prototype.defaults)
});
};
export default BeerObject;