在管理 ui 上显示超过 50 项选择
show more than 50 items on selection on admin ui
我已经创建了 56 个类别,当我尝试创建一个新的 post 时,当我要去 select 我想要的类别时,只有 50.The 其他 6 个没有不会出现,您甚至无法 select 它们,即使输入类别的名称就好像它不存在一样。
我该如何解决?
这是模型
var keystone = require('keystone');
var Types = keystone.Field.Types;
/**
* Post Model
* ==========
*/
var Post = new keystone.List('Post', {
map: { name: 'title' },
autokey: { path: 'slug', from: 'title', unique: true },
});
Post.add({
title: { type: String, required: true },
categories: { type: Types.Relationship, ref: 'PostCategory', many: true},// <- This is Shows only 50 instead of 56!
state: { type: Types.Select, options: 'draft, published, archived', default: 'published', index: true, required: true },
publishedDate: { type: Types.Date, index: true, default: Date.now, required: true, dependsOn: { state: 'published' } },
mainPDF: { type: Types.LocalFile, dest: 'public/pdf/mainpdf'},
pronunciations: { type: Types.LocalFile, dest: 'public/pdf/pronunciations'},
answers: { type: Types.LocalFile, dest: 'public/pdf/answers' },
}}
});
Post.schema.virtual('content.full').get(function () {
return this.content.extended || this.content.brief;
});
Post.defaultColumns = 'title,categories|20%, publishedDate|20%';
Post.register();
可以修改/node_modules/keystone/admin/api/list.js
文件,将case: 'autocomplete'
行下的前三行(26行左右)注释掉。这仅适用于 Keystone 3;我不知道这是问题还是 Keystone 4,或者如果是的话如何解决(这个文件在不同的位置,我还没有找到它。)新代码应该是这样的:
case 'autocomplete':
// var limit = Number(req.query.limit) || 50;
// var page = Number(req.query.page) || 1;
// var skip = limit * (page - 1);
如果您在线管理 Keystone(Heroku、Digital Ocean、Amazon S3),如果它是从您的 package.json
下载的,我认为这是不可能的,除非您创建 Keystone 3 的分支并托管它在 NPM 上。
我已经创建了 56 个类别,当我尝试创建一个新的 post 时,当我要去 select 我想要的类别时,只有 50.The 其他 6 个没有不会出现,您甚至无法 select 它们,即使输入类别的名称就好像它不存在一样。
我该如何解决?
这是模型
var keystone = require('keystone');
var Types = keystone.Field.Types;
/**
* Post Model
* ==========
*/
var Post = new keystone.List('Post', {
map: { name: 'title' },
autokey: { path: 'slug', from: 'title', unique: true },
});
Post.add({
title: { type: String, required: true },
categories: { type: Types.Relationship, ref: 'PostCategory', many: true},// <- This is Shows only 50 instead of 56!
state: { type: Types.Select, options: 'draft, published, archived', default: 'published', index: true, required: true },
publishedDate: { type: Types.Date, index: true, default: Date.now, required: true, dependsOn: { state: 'published' } },
mainPDF: { type: Types.LocalFile, dest: 'public/pdf/mainpdf'},
pronunciations: { type: Types.LocalFile, dest: 'public/pdf/pronunciations'},
answers: { type: Types.LocalFile, dest: 'public/pdf/answers' },
}}
});
Post.schema.virtual('content.full').get(function () {
return this.content.extended || this.content.brief;
});
Post.defaultColumns = 'title,categories|20%, publishedDate|20%';
Post.register();
可以修改/node_modules/keystone/admin/api/list.js
文件,将case: 'autocomplete'
行下的前三行(26行左右)注释掉。这仅适用于 Keystone 3;我不知道这是问题还是 Keystone 4,或者如果是的话如何解决(这个文件在不同的位置,我还没有找到它。)新代码应该是这样的:
case 'autocomplete':
// var limit = Number(req.query.limit) || 50;
// var page = Number(req.query.page) || 1;
// var skip = limit * (page - 1);
如果您在线管理 Keystone(Heroku、Digital Ocean、Amazon S3),如果它是从您的 package.json
下载的,我认为这是不可能的,除非您创建 Keystone 3 的分支并托管它在 NPM 上。