Ant Design 是一个由阿里巴巴开源的企业级 UI 设计语言和 React 组件库,它通过提供一套清晰、一致的 API,帮助开发者快速构建出用户体验优秀的前端应用,以下是关于 Ant Design 教程的详细内容:
一、Ant Design 简介与环境搭建
1. Ant Design 介绍
Ant Design 是一套企业级的 UI 设计语言和 React 组件库,由阿里巴巴开源,它提供了丰富的组件,包括但不限于布局、导航、表单、数据展示等,几乎涵盖了常见的页面元素,它还提供了强大的设计规范文档,使得开发者能够更好地理解和应用设计语言。
2. 开发环境搭建
在开始使用 Ant Design 之前,需要搭建合适的开发环境,以下是详细的搭建步骤:
安装 Node.js 和 npm:需要确保你的机器上安装了 Node.js 和 npm,你可以从官网下载最新版本的 Node.js,安装过程中会自动安装 npm。
创建一个新的 React 项目:使用 Create React App 创建一个新的 React 项目,在命令行中输入以下命令:
npx create-react-app my-ant-design-app cd my-ant-design-app
安装 Ant Design:在项目根目录下安装 Ant Design:
npm install antd
安装 babel-plugin-import:为了更好地使用 Ant Design 组件,建议安装 babel-plugin-import,以实现按需加载组件:
npm install babel-plugin-import --save-dev
然后在.babelrc
文件中添加以下配置:
{ "plugins": [ ["import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }] ] }
启动开发服务器:使用以下命令启动开发服务器:
npm start
二、常用组件使用教程
1. Button 按钮组件
Button 是 Ant Design 中一个常用的组件,用于触发一系列交互动作,例如提交表单、导航页面或触发自定义事件,以下是一些常用的 Button 组件属性:
type: 'primary' | 'dashed' | ..., // 按钮类型 shape: 'circle' | 'round' | ..., // 按钮形状 size: 'large' | 'small' | ..., // 按钮大小 onClick: () => void, // 点击事件的回调函数
示例代码:
import React from 'react'; import { Button } from 'antd'; function App() { const handleClick = () => { alert('Button clicked!'); }; return ( <div> <Button type="primary" onClick={handleClick}>Primary Button</Button> <Button type="dashed" onClick={handleClick}>Dashed Button</Button> <Button shape="circle" onClick={handleClick}>Circle Button</Button> <Button size="large" onClick={handleClick}>Large Button</Button> </div> ); } export default App;
2. Input 输入框组件
Input 组件用于提供文本输入功能,它可以用于简单的文本输入,也可以与其他组件组合使用,如 Input.Group、Input.Search、Input.Password 等,以下是一些常用的 Input 组件属性:
type: 'text' | 'password' | ..., // 输入框类型 value: string, // 输入框的值 onChange: (e) => void, // 输入框值变化时的回调函数
示例代码:
import React, { useState } from 'react'; import { Input } from 'antd'; function App() { const [value, setValue] = useState(''); const handleChange = (e) => { setValue(e.target.value); }; return ( <div> <Input type="text" value={value} onChange={handleChange} placeholder="Input here" /> </div> ); } export default App;
3. Table 表格组件
Table 组件用于展示表格数据,它可以用于展示简单的数据列表,也可以用于复杂的分页、排序、筛选等操作,以下是一些常用的 Table 组件属性:
columns: Array<ColumnConfig>, // 表格列定义 dataSource: Array<Object>, // 表格数据源 pagination: Object, // 分页配置 onChange: (pagination, filters, sorter) => void, // 表格状态变化时的回调函数
示例代码:
import React from 'react'; import { Table } from 'antd'; const columns = [ { title: 'Name', dataIndex: 'name', key: 'name' }, { title: 'Age', dataIndex: 'age', key: 'age' }, ]; const dataSource = [ { key: '1', name: 'John Brown', age: 32 }, { key: '2', name: 'Jim Green', age: 42 }, ]; function App() { return ( <Table columns={columns} dataSource={dataSource} /> ); } export default App;
三、实战案例:登录注册页面
1. 引入 Ant Design 的 CSS
在 HTML 文件的头部引入 Ant Design 的 CSS:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ant-design-vue@1.7.8/dist/antd.min.css">
2. 创建样式和结构
在index.html
文件中添加基本的样式和结构:
<body> <div id="app"> <div class="container"> <div class="card"> <!-登录表单 --> <div v-if="isLogin"> <h2>登录</h2> <a-form @submit.prevent="handleLogin"> <a-form-item label="用户名"> <a-input v-model="loginForm.username" placeholder="请输入用户名"></a-input> </a-form-item> <a-form-item label="密码"> <a-input-password v-model="loginForm.password" placeholder="请输入密码"></a-input-password> </a-form-item> <a-form-item> <a-button type="primary" html-type="submit" block>登录</a-button> </a-form-item> </a-form> <div class="toggle-form"> <span>没有账号?</span> <a href="#" @click="toggleForm">立即注册</a> </div> </div> <!-注册表单 --> <div v-else> <h2>注册</h2> <a-form @submit.prevent="handleRegister"> <a-form-item label="用户名"> <a-input v-model="registerForm.username" placeholder="请输入用户名"></a-input> </a-form-item> <a-form-item label="密码"> <a-input-password v-model="registerForm.password" placeholder="请输入密码"></a-input-password> </a-form-item> <a-form-item label="确认密码"> <a-input-password v-model="registerForm.confirmPassword" placeholder="请再次输入密码"></a-input-password> </a-form-item> <a-form-item> <a-button type="primary" html-type="submit" block>注册</a-button> </a-form-item> </a-form> <div class="toggle-form"> <span>已有账号?</span> <a href="#" @click="toggleForm">立即登录</a> </div> </div> </div> </div> </div> </body>
3. 引入 Vue 和 Ant Design Vue
在 HTML 文件的底部引入 Vue 和 Ant Design Vue:
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script> <script src="https://cdn.jsdelivr.net/npm/ant-design-vue@1.7.8/dist/antd.min.js"></script>
4. 编写 JavaScript 代码实现登录和注册功能
new Vue({ el: '#app', data() { return { isLogin: true, // 控制显示登录还是注册表单 loginForm: { // 登录表单数据对象 username: '', // 用户名字段绑定的值 password: '', // 密码字段绑定的值 }, registerForm: { // 注册表单数据对象 username: '', // 用户名字段绑定的值 password: '', // 密码字段绑定的值 confirmPassword: '', // 确认密码字段绑定的值 }, }; }, methods: { // 方法对象定义了组件的行为逻辑和响应用户交互的事件处理函数等,其中包含了两个方法:handleLogin用于处理登录请求;handleRegister用于处理注册请求,这两个方法都使用了Vue实例中的this关键字来访问当前组件的状态(即data对象)和其他属性和方法,此外还定义了一个toggleForm方法用于切换显示登录表单和注册表单之间的视图状态,这个方法会根据isLogin变量的布尔值来决定应该显示哪一个表单,如果isLogin为true则显示登录表单否则显示注册表单并将isLogin设置为相反的值以便于下次点击时能够正确地切换回来,最后还将这个方法绑定到了相应的DOM元素上以便用户可以通过点击链接来触发这个行为从而实现页面上的动态效果和交互体验的提升。
各位小伙伴们,我刚刚为大家分享了有关“ant js 教程”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/786103.html