【问题标题】:How to programmatically set selected value for an answer in inquirer如何以编程方式为查询器中的答案设置选定值
【发布时间】:2015-10-07 20:52:36
【问题描述】:

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

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

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

问题是:我如何告诉询问者获取这个arg.name 值并使用它,就像用户输入它来回答这个问题一样。

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

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

【问题讨论】:

    标签: javascript node.js npm


    【解决方案1】:

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

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

    我试过测试它并且它有效。用户只需按回车键即可使用参数中传递的名称,因此可以在提示中告诉他们。另请注意,您的验证将在您的过滤器之后进行。您只需要确保您的过滤器所做的一切都能通过验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-20
      • 2020-11-10
      • 2012-06-19
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多