I want to use the previous answer for the next question in inquirer, and this is my code:
const promptForMissingOptions = async (options) => {
const questions = [];
if (!options.name) {
questions.push({
type: "input",
name: "name",
message: "Name:",
});
}
if (!options.file) {
questions.push({
type: "checkbox",
name: "lots",
message: "Select the categories:",
pageSize: 30,
choices: () => {
const files = helpers.getFileNames();
return Object.keys(files);
},
});
}
if (answers.lots) {
questions.push({
type: "checkbox",
name: "files",
message: "Select the files:",
pageSize: 50,
choices: () => {
const choices = helpers.getFileNames();
return Object.keys(
Object.keys(x)
.filter((key) => answers.lots.includes(key))
.reduce((obj, key) => {
obj[key] = x[key];
return obj;
}, {})
).reduce(
(r, k) =>
r.concat(
new inquirer.Separator(
chalk.underline.bold.bgMagenta(
"------------------------ " + k + " ------------------------"
)
),
choices[k]
),
[]
);
},
});
}
const answers = await inquirer.prompt(questions);
return {
files: options.file ? [options.file] : answers.files,
name: options.name || answers.name,
};
};
let options = await promptForMissingOptions(options);
What I want to do here is to use the answer from the second question for the third question.
I tried the solution in here : Is there a way to use previous answers in inquirer when presenting a prompt (inquirer v6)?
Which didn't work for my case.
How can I solve this ?
Thanks in advance.