如何以编程方式为查询者中的答案设置所选值

时间:2015-10-07 20:52:36

标签: javascript node.js npm

所以我使用inquirer通过终端向我的用户提问:

var inquirer = require('inquirer');
var question = {
  name: 'name',
  message: '',
  validation: function(){ ... }
  filter: function(){ ... }
};

但同时让我的用户通过--name命令行参数传递此字段。 (比如arg.name

问题是:我如何告诉询问者采用此arg.name值并使用它,就好像用户输入该值来回答此问题。

注意我需要验证和过滤器才能启动此值。 (例如,如果通过--name传递的值无效,则会向用户显示错误消息并要求输入另一个值)

我希望有一种方法可以解决这个问题,而无需手动调用我的验证/过滤方法。

1 个答案:

答案 0 :(得分:1)

您可以为arg.name中的变量设置默认值:

let argument = args.name;        
const question = {
  name: 'name',
  message: 'Name?',
  default: argument
};

我尝试对此进行测试,并且可以正常工作。用户只需按Enter即可使用在参数中传递的名称,因此可以在提示中告诉他们。另请注意,您的验证将在过滤器之后进行。您只需要确保过滤器所做的任何事情都会通过验证。