response - JHipster yeoman 根据选择的选项重复提示
问题描述
假设我想提示用户使用“类型复选框”在数据库选项列表中进行选择:
{
type: 'checkbox',
name: 'databaseType',
message: `Which ${chalk.yellow('*type*')} of database(s) would you like to use?`,
choices: response => {
const databaseOpts = [
{
value: 'mysql',
name: 'MySQL'
},
{
value: 'cassandra',
name: 'Cassandra'
},
{
value: 'mongodb',
name: 'MongoDB'
}
];
return databaseOpts;
},
default: 0
},
在这个初始提示之后,我想获得他们选择的任何选项的响应,并根据他们的选择再次提示他们输入数据库的名称,然后存储它们:
{
when: response => response.databaseType === 'mysql',
type: 'input',
name: 'selectedMySQL',
message: 'What is the name of your mysql database? ',
default: 'testmysql',
store: true
},
{
when: response => response.databaseType === 'cassandra',
type: 'input',
name: 'selectedCassandra',
message: 'What is the name of your cassandra database? ',
default: 'testcassandra',
store: true
},
{
when: response => response.databaseType === 'mongo',
type: 'input',
name: 'selectedMongo',
message: 'What is the name of your mongo database? ',
default: 'testmongo',
store: true
}
样本期望输出:
例如用户在 databaseOpts 中的选择:{mysql, mongodb}
然后它会问:
1)你的mysql数据库的名称是什么?:
2)你的 mongo 数据库的名称是什么?:
用户分别输入将存储在 selectedMySQL 和 selectedMongo 中的名称。
我不熟悉 yeoman 语法,但这是我要实现的逻辑。请帮忙,谢谢。
我试过了:
when: response => response.databaseType.databaseOpts === 'mysql'
但它仍然跳过响应提示。