Node.js取决于访问关系属性?

时间:2018-03-04 16:41:12

标签: node.js relationship keystonejs keystone

我有两个简单的模式:

PresentationType:

var keystone = require('keystone');

var PresentationType = new keystone.List('PresentationType', {
    autokey: { from: 'name', path: 'key', unique: true },
});

PresentationType.add({
    name: { type: String, required: true },
    t1: { type: Boolean },
    t2: { type: Boolean },
});

PresentationType.relationship({ ref: 'StaticPage', path: 'pages', refPath: 'presentationType' });

PresentationType.register();

静态页面:

var keystone = require('keystone');
var Types = keystone.Field.Types;

var StaticPage = new keystone.List('StaticPage', {
    map: { name: 'title' },
    autokey: { path: 'slug', from: 'title', unique: true },
    drilldown: 'presentationType',
});

StaticPage.add({
    title: { type: String, required: true },
    presentationType: { type: Types.Relationship, ref: 'PresentationType', many: false },
    text1: { type: String, dependsOn: { presentationType.t1: true } },
    text2: { type: String, dependsOn: { presentationType.t2: true } },
});

StaticPage.defaultColumns = 'title';
StaticPage.register();

首先,我创建一个具有布尔属性text1和text2

的表示类型

其次,当我创建一个页面并指定它的表示类型时,我希望能够根据表示类型boolean显示某些字段。

到目前为止,我似乎无法找到答案。

1 个答案:

答案 0 :(得分:1)

dependsOn属性不能在关系字段中使用;该领域将不断需要填充这种关系。模型中的dependsOn只能在同一模型的其他静态字段中使用(而不能在不同的模型中使用。)

http://keystonejs.com/docs/database/#fields-conditional