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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rappid:在检查器中实现select2字段,但它不运行条件“when”相关的知识,希望对你有一定的参考价值。

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

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

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

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

答案

我知道这是一个老问题,但对于那些可能也会混淆的问题,我必须解决类似的问题,需要在更改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是一个很好的参考,知道可以添加哪些条件。

以上是关于Rappid:在检查器中实现select2字段,但它不运行条件“when”的主要内容,如果未能解决你的问题,请参考以下文章

如何使 select2 搜索框“内联”?

如何在阻塞模式 NIO 中实现超时?

如何在 Java 中实现过滤迭代器?

在 Go 中实现 struct-to-csv 编写器

如何在类中实现标准迭代器

csharp 通用检查器类,它允许您在类文件中而不是在单独的自定义编辑器中实现OnScene / InspectorGUI。它也提供