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



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

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

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

问题是:我怎样才能告诉询问者把这个arg.name值当作用户输入这个问题的答案来使用呢?

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

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

您可以为arg.name:

中的变量设置一个默认值
let argument = args.name;        
const question = {
  name: 'name',
  message: 'Name?',
  default: argument
};

我试着测试这个,它工作。用户只需要按回车键就可以使用参数中传递的名称,所以可能会在提示符中告诉他们。还要注意,您的验证将在您的过滤器之后进行。您只需要确保您的过滤器所做的一切都将通过验证。

相关内容

最新更新