keystonejs - 如何根据 KeystoneJS Next 另一个字段的值在管理 UI 中显示/隐藏字段?
问题描述
我有一个Category
模型设置schema.ts
如下:
Category: list({
fields: {
name: text(),
type: select({
options: [
{ label: "MultipleChoice", value: "MultipleChoice" },
{ label: "Range", value: "Range" },
],
defaultValue: "...",
isRequired: true,
isUnique: true,
ui: { displayMode: "segmented-control" },
}),
from: integer(),
to: integer(),
options: text()
},
})
这会在管理 UI 中呈现这些组件:
我只想在选择时显示from
和to
字段Range
(隐藏options
字段),反之MultipleChoice
则在选择时显示。有没有办法通过 Keystone Next 实现这一目标?
我还尝试了另一种方法,将类别类型拆分为不同的模型,然后以某种方式将它们与Category
模型相关联,但我不知道该怎么做。就像是:
CategoryRange: list({
ui: {
isHidden: true,
},
fields: {
from: integer(),
to: integer(),
},
}),
CategoryMultipleChoice: list({
ui: {
isHidden: true,
},
fields: {
options: text(),
},
})
解决方案
Keystone 4 支持条件字段。他们还没有被带到 Keystone 6(又名“下一个”),但他们在路线图上。我预计对他们的支持将在未来几个月内到来。
现在,在 Keystone 6 中,您可能做的最好的事情就是创建一个自定义字段类型,将“类型”和“来自/到”字段一起收集。这将允许您在管理 UI 中定义一个界面,该界面实现了您喜欢的任何呈现规则。
推荐阅读
- c# - Unity:您可以在控制台应用程序出现在控制台中的同时读取/写入标准输入/输出吗?
- amazon-web-services - 如何回显当前的 aws configure 配置
- mysql - 如何使用escape()方法在节点中使用mysql全文搜索?
- javascript - 如何在单击多个按钮时更改按钮颜色
- dialogflow-es - 我可以使用 Dialogflow 回答需要树莓派传感器反馈的问题吗?
- ruby-on-rails - 我的提交按钮将不再起作用。和我的控制器有关吗?
- java - 如何在请求中通过 id 引用实体
- javascript - 访问三星 Gear S3 边界上的心率监测器时出现“权限被拒绝”Tizen Web 应用程序错误
- excel - Excel 即 API 背后的服务
- android - Google Play 游戏服务登录错误:ApiException:4