在前端工程中,往往需要让用户从一系列选项中进行选择。这时候,npm 包 choice-cli 就非常实用了。本文将介绍如何使用 choice-cli,以及一些常见的应用场景。
安装
首先,在终端中输入以下命令安装 choice-cli:
npm install -g choice-cli
使用
安装完成后,在终端中输入以下命令:
choice [options] message [options]
其中 message
表示用户需要做出选择的问题,比如:
choice "请选择你喜欢的水果" Apple Orange Banana
这时候在终端中就会出现以下提示:
请选择你喜欢的水果 [1] Apple [2] Orange [3] Banana
用户可以输入相应的数字来做出选择。
选项
以下是一些常用的选项:
-h, --help
显示帮助信息-v, --version
显示版本号-m, --multiple
允许用户进行多选-c, --checked <value>
预选中某些选项,可以是一个数字或者一个用逗号分隔的数字列表-i, --index
显示用户的选择对应的数组下标,而不是选项的值
示例
单选
以下代码演示了如何让用户从一系列选项中选择一个:
-- -------------------- ---- ------- ----- ------ - --------------------- ----- ------ - --------- --------- --------- ------------------- ---------- ------------ -- - ----------------- ----------- -- ------------ -- - -------------------- --
运行以上代码,终端输出如下:
请选择你喜欢的水果 [1] Apple [2] Orange [3] Banana ? 2 你选择了 Orange
多选
以下代码演示了如何让用户从一系列选项中选择多个:
-- -------------------- ---- ------- ----- ------ - --------------------- ----- ------ - --------- --------- --------- ------------------- ---------- ----- ------------ -- - ----------------- ----------- -- ------------ -- - -------------------- --
运行以上代码,终端输出如下:
请选择你喜欢的水果 [ ] Apple ❯ [ ] Orange [ ] Banana
用户可以使用空格键来选中或取消选中某个选项,最后使用回车键确认选择。
预选中选项
以下代码演示了如何预选中某些选项:
-- -------------------- ---- ------- ----- ------ - --------------------- ----- ------ - --------- --------- --------- ------------------- ---------- ----- ------ ------------ -- - ----------------- ----------- -- ------------ -- - -------------------- --
运行以上代码,终端输出如下:
请选择你喜欢的水果 [x] Apple [ ] Orange [x] Banana ? 你选择了 [ 'Apple', 'Banana' ]
显示数组下标
以下代码演示了如何显示用户选择的数组下标:
-- -------------------- ---- ------- ----- ------ - --------------------- ----- ------ - --------- --------- --------- ------------------- ---------- ----- ------------ -- - ----------------- ----------- -- ------------ -- - -------------------- --
运行以上代码,终端输出如下:
请选择你喜欢的水果 [0] Apple [1] Orange [2] Banana ? 1 你选择了 1
总结
choice-cli 是一款非常实用的 npm 包,在前端开发中经常会用到。本文介绍了如何安装和使用 choice-cli,以及一些常见的应用场景和选项。希望本文能对读者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005674181e8991b448e3c56