User.add({
name: { type: Types.Name, required: true },
userid: { type: Types.Text, initial: true, required: true },
exceed_login_attempt: {
type: Types.Boolean,
default: false,
label: 'Exceeded Invalid Login Attempts',
dependsOn: { exceed_login_attempt: true }
}
});
我这里有一个复选框输入字段exceed_login_attempt
如果值为true
(已选中),我希望在AdminUI中显示它。如果我取消选中该值为false
并且该复选框将消失 - 这很好。
但是当我保存它时,false
的复选框值不能保存。渲染页面后,该值仍为true
,这意味着它再次显示复选框。
答案 0 :(得分:0)
在KeystoneJS database documentation上提到:
为了提高管理员界面的可用性,可以在未设置值时隐藏字段,也可以根据其他字段的值隐藏。
字段可以取决于其他字段的值。但是在您发布的代码中,exceed_login_attempt
字段取决于它自己的值,这对我来说不合适:
exceed_login_attempt: {
...
dependsOn: { exceed_login_attempt: true }
}
我不确定,也许您打算使用collapse
而不是dependsOn
:
collapse [Boolean]当字段没有值时,在管理界面中显示+添加链接。当noedit也设置为true时,当字段没有值
时,将完全隐藏字段UI