Rappid:在检查器中实现select2字段,但它不运行条件“when”

问题描述 投票:1回答:1

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

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

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

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

events jquery-select2 onchange jointjs rappid
1个回答
0
投票

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

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

因此,它就像这样简单:

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 expressions definition table是一个很好的参考,知道可以添加哪些条件。

© www.soinside.com 2019 - 2024. All rights reserved.