JointJS - 在Inspector里面的

时间:2018-05-10 20:21:59

标签: jointjs

我正在以JSON动态构建一个Inspector。但是,我无法让when:工作。想象一下:我在名为object的{​​{1}}列表中,我有三个对象:listtyperule

  • scripttype,其值为select-boxrule
  • scriptrule
  • textscript(自定义类型)

我必须仅在text-multiline等于rule时显示type,并且仅当rule等于script时才显示type 。我怎样才能做到这一点?我尝试添加到script以下rule

when:

when: {eq: {"type": "rule"}}, 类似:

script

然而,检查员似乎忽略了这一点,从不显示它们,也没有显示when: {eq: {"type": "script"}}, ,也没有显示rule。我怎样才能使这个条件正常工作?

2 个答案:

答案 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的检查器要容易得多。