如何动态构建查询器提示数组?即当我遍历项目以动态添加提示元素时。
当我尝试时,程序不会等待响应。它继续执行其余代码并退出。
注意:我在此示例中使用 async/await,但删除它不会改变任何内容
工作示例 作为确认我未显示的所有内容设置正确的基线,此代码有效。元素不是在循环中创建的,程序按预期等待用户输入。
...
const iqElements = [{
type: 'input',
name: 'gitref',
message: 'Git reference:',
default: 'master',
}]
const iq = await inquirer.prompt(iqElements)
问题示例:这就是问题所在。当我iqElements
在 for 循环中构建数组时,程序不会等待用户输入。它继续并退出。
该元素
name
是为这个简化的示例设计的。我的实际代码从我正在迭代的元素的唯一属性中设置名称值。
...
const iqElements = []
for (let i = 0; i < 2; i++) {
iqElements.push({
type: 'input',
name: 'gitref'+i,
message: 'Git reference:',
default: 'master',
})
}
// Confirmed the elements are build before the next line is called
console.log(iqElements)
const iq = await inquirer.prompt(iqElements)