我正在以JSON动态构建一个Inspector。但是,我无法让when:
工作。想象一下:我在名为object
的{{1}}列表中,我有三个对象:list
,type
和rule
。
script
是type
,其值为select-box
或rule
。script
是rule
text
是script
(自定义类型)我必须仅在text-multiline
等于rule
时显示type
,并且仅当rule
等于script
时才显示type
。我怎样才能做到这一点?我尝试添加到script
以下rule
:
when:
与when: {eq: {"type": "rule"}},
类似:
script
然而,检查员似乎忽略了这一点,从不显示它们,也没有显示when: {eq: {"type": "script"}},
,也没有显示rule
。我怎样才能使这个条件正常工作?
答案 0 :(得分:1)
我已经对其进行了一些测试。我实际上发现检查器非常好-特别是条件隐藏/显示确实可以工作,即使对于大量不同的属性也是如此。 问题可能出在您引用属性的方式上。就我而言,类似的方法有效:
text: {
type: 'content-editable',
label: 'Simple text input',
when: {
eq: {
'attrs/type/text': 'SIMPLE_COMPONENT'
}
}
}
我正在使用element.attr()函数在其他位置设置属性类型:
element.attr({type: {
text: 'SIMPLE_COMPONENT'
}});
BTW:还设法通过包含各种元素/组件定义的大型JSON动态“配置”检查器。
答案 1 :(得分:0)
JointJS检查器非常有限,仅给我带来了问题。我已将其替换为使用AngularJS,HTML5和SASS制作的定制检查器。万一有人遇到同样的麻烦,这就是我的建议:从头开始创建检查器比尝试使用JointJS的检查器要容易得多。