我正在使用库inquirer在node.js中构建命令行界面。
根据我的需要,我想在用户输入时呈现提示,确认文本等。例子。
var _questions = [{
'type': 'list',
'name': 'databasetype',
'message': 'Choose database :',
'choices': ['mongoDB', 'mysql [alpha]', 'firebase [alpha]', 'url [alpha]'],
'default': 'mongoDB'
}, {
'type': 'input',
'name': 'xfactor',
'message': 'X Factor [email, username etc..] :'
}]
// show question's.
Inquirer.prompt(_questions).then(async (__answers) => {
console.log(__answers)
})
如果用户选择mongoDB,则它应再次显示提示 mongodb网址
答案 0 :(得分:1)
您可以使用when
问题属性,它的值应该是一个返回布尔值的函数; true
代表表演问题,false
代表不表演问题
所以以您的示例为例:
_questions = [{
'type': 'list',
'name': 'databasetype',
'message': 'Choose database :',
'choices': ['mongoDB', 'mysql [alpha]', 'firebase [alpha]', 'url [alpha]'],
'default': 'mongoDB'
}, {
'type': 'input',
'name': 'url',
'message': 'Enter the URL'
'when': (answers) => answers.databasetype === 'mongoDB'
}]
在此处查看更多示例when usage examples