You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JsonForms中tester ranks有什么作用?自定义测试器为何要设置rank值?

JsonForms 自定义测试器 rank 参数说明

核心作用

rank 是 JsonForms 用来判定渲染器优先级的核心参数,数值越高,对应渲染器的优先级越高。
JsonForms 渲染表单字段的匹配逻辑如下:

  1. 遍历所有已注册的渲染器对应的测试器,筛选出所有符合当前字段 schema 规则的测试器
  2. 从筛选结果中选取 rank 值最高的测试器,调用其绑定的渲染器渲染当前字段

你代码中 rank=3 的含义

JsonForms 内置的基础渲染器(默认文本输入、数字输入、选择器等)的 rank 值通常为 1 或 2,你配置 rank=3 可以保证:只要字段的 schema scope 后缀匹配 rating,你的自定义渲染器就会覆盖默认渲染器生效。

典型使用场景

  • 当存在多个测试器匹配同一个字段时,你可以通过调整 rank 值控制哪个渲染器生效,不需要修改原有匹配规则或注销旧渲染器
  • 如果你后续需要新增更细分场景的 rating 渲染器(比如只匹配某一级分类下的 rating 字段),只需要给新测试器设置大于3的rank值,就可以覆盖当前这个渲染器的优先级
import { rankWith, scopeEndsWith } from '@jsonforms/core';

export default rankWith(
  3, // 自定义渲染器的优先级权重,数值越高优先级越高
  scopeEndsWith('rating')
);

内容的提问来源于stack exchange,提问作者Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:15:08