本文将介绍如何使用 npm 包 open-ui-toolbox
开发前端 UI,该包包含了众多常用的 UI 组件和工具函数,可以大大简化前端开发过程,提高代码的复用性和效率。本文将详细介绍该包的使用方法和注意事项,并提供示例代码供读者参考。
安装和引入
首先需要安装 open-ui-toolbox
,可以使用以下命令进行安装:
npm install open-ui-toolbox --save
安装完成后,可以使用以下方式引入该包:
import openUI from 'open-ui-toolbox';
组件列表
open-ui-toolbox
包含的组件如下:
- Button 按钮组件
- Input 输入框组件
- List 列表组件
- Modal 弹窗组件
- Pagination 分页组件
- Select 下拉选择组件
- Tabs 选项卡组件
- Toast 提示框组件
可以使用以下方式来引入特定组件:
import { Button, Input, List } from 'open-ui-toolbox';
组件使用方法
Button
Button 组件可以用来创建各种样式的按钮,可以根据需要进行配置,支持以下 props:
- type: string,按钮类型,可选值为
primary
、success
、warning
、danger
,默认为default
- plain: bool,是否为朴素样式,默认为
false
- round: bool,是否为圆角按钮,默认为
false
- disabled: bool,是否为禁用状态,默认为
false
- loading: bool,是否显示 loading 动画,默认为
false
- onClick: function,按钮点击事件回调函数
<Button type="primary" round onClick={() => console.log('Clicked!')}>Click Me!</Button>
Input
Input 组件可以用来创建基础的输入框,支持以下 props:
- type: string,输入框类型,可选值为
text
、password
、email
等,具体可参考 HTML input 标签,可以为空,默认为text
- placeholder: string,输入框占位符,可以为空
- disabled: bool,是否为禁用状态,默认为
false
- onChange: function,输入框内容变化事件回调函数
<Input type="password" placeholder="请输入密码" onChange={value => console.log('Password:', value)} />
List
List 组件可以用来展示一列数据,每一行数据可以进行配置,支持以下 props:
- data: array,数据列表
- renderItem: function,每个数据项的渲染函数,接收参数
(item, index)
- keyExtractor: function,指定如何从数据项中提取唯一键值的函数,接收参数
(item, index)
- emptyText: string,数据列为空时显示的文本,可以为空
<List data={[ { name: 'Tom', age: 20, gender: 'male' }, { name: 'Lucy', age: 22, gender: 'female' }, ]}> {(item, index) => ( <div key={index}>{item.name}, {item.age}, {item.gender}</div> )} </List>
Modal
Modal 组件可以用来展示一个弹窗,支持以下 props:
- visible: bool,是否显示弹窗,默认为
false
- title: string,弹窗标题,可以为空
- content: node,弹窗内容,可以为空
- okText: string,确定按钮文本,可以为空,默认为
确定
- cancelText: string,取消按钮文本,可以为空,默认为
取消
- onOk: function,点击确定按钮事件回调函数
- onCancel: function,点击取消按钮或遮罩层事件回调函数
<Modal visible={visible} title="弹窗标题" content={<div>弹窗内容</div>} onOk={() => setVisible(false)} onCancel={() => setVisible(false)} />
Pagination
Pagination 组件可以用来展示分页器,支持以下 props:
- total: number,数据总数
- pageSize: number,每页展示的数据量
- currentPage: number,当前页码
- onChange: function,页码变化时的回调函数
<Pagination total={50} pageSize={10} currentPage={1} onChange={page => console.log('Current page:', page)} />
Select
Select 组件可以用来展示一个下拉选择框,支持以下 props:
- options: array,可选项列表,每项为
{ label, value }
的对象 - value: string/array,当前选择的值,默认为空
- placeholder: string,选择框占位符,可以为空
- multiple: bool,是否为多选模式,默认为
false
- onChange: function,选择变化时的回调函数
<Select options={[ { label: '苹果', value: 'apple' }, { label: '香蕉', value: 'banana' }, { label: '梨子', value: 'pear' }, ]} placeholder="请选择" onChange={value => console.log('Selected:', value)} />
Tabs
Tabs 组件可以用来展示一个选项卡,支持以下 props:
- activeKey: string,当前激活的选项卡 key 值,默认为第一个选项卡的 key
- animated: bool,是否开启切换动画效果,默认为
false
- onChange: function,选项卡变化时的回调函数
<Tabs activeKey="key1" onChange={key => console.log('Active:', key)}> <Tabs.TabPane key="key1" tab="标签1">标签1内容</Tabs.TabPane> <Tabs.TabPane key="key2" tab="标签2">标签2内容</Tabs.TabPane> <Tabs.TabPane key="key3" tab="标签3">标签3内容</Tabs.TabPane> </Tabs>
Toast
Toast 组件可以用来展示一个提示框,支持以下 props:
- message: string,提示文本
- duration: number,提示持续时间,以毫秒为单位,默认为
3000
- onClose: function,提示框关闭时的回调函数
<Toast message="操作成功" onClose={() => console.log('Closed!')} />
工具函数列表
open-ui-toolbox
包含了以下常用的工具函数:
- classNames: 用于组合 class 名的函数,支持传入字符串和对象作为参数,返回实际应用的 class 名
- formatMoney: 用于格式化金额的函数,接收参数
(amount)
,返回格式化后的金额字符串 - debounce: 用于函数防抖的函数,接收参数
(fn, delay)
,返回经过防抖处理后的函数
import openUI from 'open-ui-toolbox'; const { classNames, formatMoney, debounce } = openUI; console.log(classNames('a', 'b', 'c')); // "a b c" console.log(classNames({ a: true, b: false, c: true })); // "a c" console.log(formatMoney(10000)); // "10,000.00" const handleClick = debounce(() => console.log('Clicked!'), 500);
总结
open-ui-toolbox
包含了众多常用的 UI 组件和工具函数,可以大大简化前端开发过程,提高代码的复用性和效率。本文介绍了该包的使用方法和注意事项,并提供了示例代码供读者参考。希望读者能够通过本文了解和使用该包,从而提高前端开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005581081e8991b448d5346