簡體   English   中英

如何使用inquirer.prompt為輸入添加前綴

[英]how to prefix the input using inquirer.prompt

鑒於以下...

var prompts = [{
    type: 'input',
    name: 'message',
    default: 'Some Message'
    message: 'Commit message?',
}]
require('inquirer').prompt(prompts, function(){})

終端將輸出以下內容

[?] Commit message? (Some Message) ||

“ ||” 象征我的光標

如果按ENTER鍵而不輸入任何內容,查詢者將使用(某些消息)作為默認輸入值。

但是,如果我鍵入任何內容,“某些消息將被覆蓋”

我想執行以下操作

[?] Commit message? || Some Message

“ ||” 象征我的光標

基本上,我想修改默認消息,或為輸入值添加前綴,以允許我修改前綴。

我最好的解決方案...這是行不通的

var prompts = [{
    type: 'input',
    name: 'message',
    message: 'Commit message?',
    when: function(){
        process.nextTick(function(){
           process.stdout.write('Some Message');
        });
    }
}]
require('inquirer').prompt(prompts, function(){})

這將執行以下操作

[?] Commit message? Some Message ||

“ ||” 象征我的光標

這似乎可行,但是我無法向后移動光標來修改消息。

是否可以在終端上打印可修改的字符串?

這是一種方法:

var Inquirer = require("inquirer");

var chalk = require("chalk");


Inquirer.prompt([
  {
    type: "input",
    message: "Commit message? " + chalk.cyan( "Some Message" ),
    name: "message",
    filter: function(val) {
      return val + " Some Message";
    }
  }
], function( answers ) {
  console.log( JSON.stringify(answers, null, "  ") );
});

您也可以自己輸入提示。

干杯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM