Inquirer中的条件提示渲染?
我正在使用库: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 url
回答如下:您可以使用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