2016-09-21 2 views
0

私は彼のお気に入りのムービー(CLI環境で)をユーザーに尋ねる必要があります。私は彼がループと "もっと?"を使って、どれくらいの項目を入力してもらいたいと思っています。質問ごとに記入してください。Node.js Inquirer:ユーザー定義のサイズ配列の入力を促す方法はありますか?

私は(可能な限り)、照会者のこの「宣言型」の使用を維持したいと思います:

var questions = [{ 
    name: 'firstName', 
    message: 'What is your first name?' 
}, { 
    name: 'birthdate', 
    message: 'What is your birthdate ?', 
}, { 
    name: 'favoriteMovies', 
    message: 'What are your favorite movies ?', 
    // What can I do ? 
}] 


inquirer(questions, function(answers){ 
console.log(answers); //an object containing the user response. 
}); 

だから、「favoriteMovies」プロパティが提供するエントリが読み込ま配列になります。

可能ですか?

+0

ユーザーに必要なエントリの数を質問し、各エントリの後に 'More? 'を尋ねるポイントは何ですか?彼らがどれくらい多くを望んでいるのか分かっていれば、その反復回数だけ繰り返すことができます。もう1つの選択肢は、彼らはあなたがどれくらい多くを望んでいるかを教えてくれないので、それぞれのエントリー後にもっと欲しいかどうかを尋ねることです。 – nem035

+0

彼は、ユーザーが自分が望むだけ多くの人が入ることができると思う。彼が最初にどれくらい多くのユーザーが望んでいるかを尋ねるのではない。 – Paul

+0

はい。私が必要とするエントリーの数が分かっていても、この宣言的な方法で質問のスタックを定義しておきたいと思います。 –

答えて

0

応答のタイプを設定できます。

var questions = [{ 
    name: 'firstName', 
    message: 'What is your first name?', 
    response: 'string' 
}, { 
    name: 'birthdate', 
    message: 'What is your birthdate ?', 
    response: 'string' 
}, { 
    name: 'favoriteMovies', 
    message: 'What are your favorite movies ?', 
    response: 'array' 
}] 

応答が配列の場合は、必要な回数だけ行うことができます。 (また、各質問の検証パラメータを用意することをお勧めします)。

関連する問題