我想要做的是在输入后从nodejs控制台应用中隐藏/删除所有用户输入,以便在用户插入时某些文字然后输入类型,他再也无法在控制台中读取他刚刚输入的内容了(所以基本上删除了它之后的行的输入)。
这应该很容易实现,但我不知道该怎么做=)。
提前谢谢
编辑: 我们假设我们有这段代码:
const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.question('How ya doin?\n', input => {
console.log('seems like you\'r doing ' + input.toString())
})
答案 0 :(得分:3)
将光标向上移动N行:
\033[<N>A
要用输出覆盖用户的1行输入,您应该向上移动1行并打印输出。它看起来像这样:
console.log('\033[1A' + 'seems like you\'r doing ' + input.toString());
<强>更新强> 找到了一个很好的答案:)
How do you edit existing text (and move the cursor around) in the terminal?
答案 1 :(得分:3)
看起来readline已经可以为您处理..
const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.question('How ya doin?\n', input => {
readline.moveCursor(process.stdout, 0,-1)
console.log('seems like you\'r doing ' + input.toString())
})