鉴于以下情况...
var prompts = [{
type: 'input',
name: 'message',
default: 'Some Message'
message: 'Commit message?',
}]
require('inquirer').prompt(prompts, function(){})
终端将输出以下内容
[?] Commit message? (Some Message) ||
“||”象征着我的光标
如果我按 ENTER 键,而不输入任何内容,查询器将使用(Some Message)作为默认输入值。
但是,如果我输入任何内容,“某些消息会被覆盖”
我想改为执行以下操作
[?] 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, " ") );
});
您还可以创建自己的提示。
干杯。
关于node.js - 如何使用quirer.prompt为输入添加前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30249114/