1

我正在使用 Rappid 来绘制对象之间的关系。我需要自定义检查器。当值太多时,我想使用 select2 插件替换选择框。为此,我使用了文档中出现的示例,该示例使用 renderFieldContent 来呈现我在 inspector.js 中定义的特殊字段,我的函数和对象正确显示,但此外,当我选择任何值时,我还需要出现另一个字段在 mi select2 中,为此我定义了以下“何时”

when: {
       and: [
             { ne: { 'attrs/attributes/to_eval': '' } },
             { ne: { 'attrs/attributes/to_eval': null } },
            ]
      },

问题如下:当我更改 select2 的选定选项时,未验证条件。

如何运行验证?我需要为 select2 声明一个事件,触发一个检查器事件还是我需要手动运行验证?

4

1 回答 1

0

我知道这是一个老问题,但对于那些可能也感到困惑的人,我必须解决一个类似的问题,该问题需要在toggle字段更改时显示/隐藏。这就是我所做的:

  • ne只向应该显示/隐藏的字段添加了一个表达式 ( textOnToggle);
  • ne需要指向触发字段的表达式路径( toggleText);
  • defaultValue在触发字段上设置 a 。

因此,就这么简单:

textOnToggle: {
  type: 'content-editable',
  label: 'Text',
  index: 1,
  when: { ne: {'attrs/mypath/toggleText': true} },
},
toggleText: {
  defaultValue: false,
  type: 'toggle',
  label: 'Hide the text',
  index: 2,
},

因此,在这种情况下,单击toggleText检查器中的字段会隐藏该textOnTogle字段。您可以更改布尔值以执行相反的操作。

JointJS 表达式定义表是了解可以添加哪些条件的一个很好的参考。

于 2018-01-22T11:30:20.797 回答