JointJS - 在 Inspector inside list 中使用 'when:'
JointJS - Using 'when:' in Inspector inside list
我正在基于 JSON 动态构建 Inspector。但是,我无法使 when:
正常工作。想象一下:我在一个名为 list
的 object
列表中,我得到了三个对象:type
、rule
和 script
。
type
是一个 select-box
,其值为 rule
或 script
。
rule
是一个 text
script
是 text-multiline
(自定义类型)
只有当type
等于rule
时我才需要显示rule
,只有当type
等于[=18时我才需要显示script
=].我怎样才能做到这一点?我尝试向 rule
添加以下内容 when:
:
when: {eq: {"type": "rule"}},
和script
类似的:
when: {eq: {"type": "script"}},
然而,检查员似乎忽略了这一点,从不展示它们,rule
,script
。我怎样才能使该条件正常工作?
JointJS inspector 非常有限,只会给我带来问题。我用 AngularJS、HTML5 和 SASS 定制的检查器替换了它。如果有人遇到同样的麻烦,这是我的建议:从头开始创建检查器比尝试使用 JointJS 的检查器要容易得多。
我已经通过一些测试让它工作了。我实际上发现检查器非常好 - 特别是条件 hiding/showing 即使对于大量不同的属性也能正常工作。
问题可能在于您引用 属性 的方式。就我而言,类似这样的方法有效:
text: {
type: 'content-editable',
label: 'Simple text input',
when: {
eq: {
'attrs/type/text': 'SIMPLE_COMPONENT'
}
}
}
我正在使用 element.attr() 函数在其他地方设置属性类型:
element.attr({type: {
text: 'SIMPLE_COMPONENT'
}});
顺便说一句:还设法从包含各种 elements/components.
定义的大型 JSON 动态 "configure" Inspector
我正在基于 JSON 动态构建 Inspector。但是,我无法使 when:
正常工作。想象一下:我在一个名为 list
的 object
列表中,我得到了三个对象:type
、rule
和 script
。
type
是一个select-box
,其值为rule
或script
。rule
是一个text
script
是text-multiline
(自定义类型)
只有当type
等于rule
时我才需要显示rule
,只有当type
等于[=18时我才需要显示script
=].我怎样才能做到这一点?我尝试向 rule
添加以下内容 when:
:
when: {eq: {"type": "rule"}},
和script
类似的:
when: {eq: {"type": "script"}},
然而,检查员似乎忽略了这一点,从不展示它们,rule
,script
。我怎样才能使该条件正常工作?
JointJS inspector 非常有限,只会给我带来问题。我用 AngularJS、HTML5 和 SASS 定制的检查器替换了它。如果有人遇到同样的麻烦,这是我的建议:从头开始创建检查器比尝试使用 JointJS 的检查器要容易得多。
我已经通过一些测试让它工作了。我实际上发现检查器非常好 - 特别是条件 hiding/showing 即使对于大量不同的属性也能正常工作。 问题可能在于您引用 属性 的方式。就我而言,类似这样的方法有效:
text: {
type: 'content-editable',
label: 'Simple text input',
when: {
eq: {
'attrs/type/text': 'SIMPLE_COMPONENT'
}
}
}
我正在使用 element.attr() 函数在其他地方设置属性类型:
element.attr({type: {
text: 'SIMPLE_COMPONENT'
}});
顺便说一句:还设法从包含各种 elements/components.
定义的大型 JSON 动态 "configure" Inspector