<Input type="password" placeholder="确认密码" />
</Form.Item>
<Button type="primary" htmlType="submit">注册</Button>
</Form>
);
};
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/009a60c380ae493a9b1ecbb00f1c99bf.jpeg#pic_center)
3. 主页示例代码:
import { TabBar } from ‘antd-mobile’;
const HomePage = () => {
const [selectedTab, setSelectedTab] = useState(‘home’);
return (
<div style={{ position: ‘fixed’, height: ‘100%’, width: ‘100%’, top: 0 }}>
<TabBar.Item
title=“首页”
key=“home”
selected={selectedTab === ‘home’}
onPress={() => setSelectedTab(‘home’)}
>
{/* 主页内容 /}
</TabBar.Item>
{/ 其他TabBar.Item */}
);
};
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d8d792a6ba6649838941bff1dc917b6a.jpeg#pic_center)
4. 个人中心示例代码:
import { List } from ‘antd-mobile’;
const ProfilePage = () => {
return (
<List.Item thumb=“avatar.png”>用户名</List.Item>
{/* 其他个人信息项 */}
<List.Item arrow=“horizontal”>修改密码</List.Item>
<List.Item arrow=“horizontal”>退出登录</List.Item>
);
};
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/269223862fdd4b46a1f715eca308f67b.png#pic_center)
5. 列表页示例代码:
import { List } from ‘antd-mobile’;
const ListPage = () => {
return (
<List.Item>列表项1</List.Item>
<List.Item>列表项2</List.Item>
<List.Item>列表项3</List.Item>
{/* 更多列表项 */}
);
};
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/85b1dc7f0b1b4b59821a3fc75d5306a8.jpeg#pic_center)
6. 详情页示例代码:
import { Card, List, Accordion } from ‘antd-mobile’;
const DetailPage = () => {
return (
<Card.Header title=“详情页标题” />
<Card.Body>
<List renderHeader={() => ‘基本信息’}>
<List.Item>详情项1</List.Item>
<List.Item>详情项2</List.Item>
<List.Item>详情项3</List.Item>
{/* 其他详情项 /}
<Accordion.Panel header=“更多信息”>
{/ 更多详细内容 */}
</Accordion.Panel>
</Card.Body>
);
};
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d0d5fe54b58a482ab7b394d59fbc7c03.jpeg#pic_center)
7. 设置页示例代码:
import { Form, Input, Checkbox } from ‘antd-mobile’;
const SettingsPage = () => {
return (
<Form.Item name=“username” rules={[{ required: true, message: ‘请输入用户名’ }]}>
</Form.Item>
<Form.Item name=“email” rules={[{ required: true, message: ‘请输入邮箱’ }]}>
</Form.Item>
<Form.Item name=“notifications”>
接收通知
</Form.Item>
{/* 其他设置项 */}
);
};
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c2e8027d25914d42ac44196042cd3d33.png#pic_center)
8. 搜索页示例代码:
import { SearchBar, List } from ‘antd-mobile’;
const SearchPage = () => {
return (
<List.Item>搜索结果1</List.Item>
<List.Item>搜索结果2</List.Item>
<List.Item>搜索结果3</List.Item>
{/* 更多搜索结果 */}
);
};
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/75f5b67c4d07439294724ec9491ece9c.jpeg#pic_center)
9. 升级页示例代码:
import { List, Button } from ‘antd-mobile’;
const UpgradePage = () => {
return (
<List.Item extra=“v1.0.0”>当前版本</List.Item>
<List.Item>
检查更新
</List.Item>
);
};
以上是对于登录页、注册页、主页、个人中心、列表页、详情页、设置页、搜索页和升级页的示例代码。你可以根据具体需求进行修改和定制,以满足你的应用界面的需求。请确保在使用AMR组件时参考官方文档,了解每个组件的详细使用方法和属性。如果有任何问题,请随时提问。
## 四、页面跳转切换路由综合示例
当涉及到多个页面之间的切换或导航时,可以使用React Router库来实现路由管理。以下是一个综合示例,展示如何在Ant Design Mobile of React(AMR)中使用React Router实现这九个基础页面的切换和导航:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a19f6b51579b40aabb44ace8bc43d170.jpeg#pic_center)
import { BrowserRouter as Router, Route, Link } from ‘react-router-dom’;
import { TabBar } from ‘antd-mobile’;
const HomePage = () => {
return
主页内容
;};
const LoginPage = () => {
return
登录页内容
;};
const RegisterPage = () => {
return
注册页内容
;};
const ProfilePage = () => {
return
个人中心内容
;};
const ListPage = () => {
return
列表页内容
;};
const DetailPage = () => {
return
详情页内容
;};
const SettingsPage = () => {
return
设置页内容
;};
const SearchPage = () => {
return
搜索页内容
;};
const UpgradePage = () => {
return
升级页内容
;};
const App = () => {
const [selectedTab, setSelectedTab] = useState(‘home’);
return (
<div style={{ position: ‘fixed’, height: ‘100%’, width: ‘100%’, top: 0 }}>
<TabBar.Item
title=“首页”
key=“home”
selected={selectedTab === ‘home’}
onPress={() => setSelectedTab(‘home’)}
>
主页
</TabBar.Item>
<TabBar.Item
title=“个人中心”
key=“profile”
selected={selectedTab === ‘profile’}
onPress={() => setSelectedTab(‘profile’)}
>
个人中心
</TabBar.Item>
{/* 其他TabBar.Item */}
);
};
export default App;
在上面的示例中,我们使用了React Router来管理不同页面的路由,通过`Link`组件实现页面之间的导航。在`TabBar.Item`的`onPress`事件中,通过`setSelectedTab`函数来切换选中的Tab,并使用`Link`组件的`to`属性来指定要导航到的路径。
每个页面都被定义为一个函数组件,并通过`Route`组件来匹配对应的路径,并渲染相应的组件。
你可以根据实际需求修改每个页面组件的内容和样式,并根据需要添加其他页面和路由。
希望这个综合示例能够帮助你理解如何在AMR中使用React Router实现页面切换和导航。如果有任何问题,请随时提问。
## 五、知识点归纳
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e536112dd21f4243803f9121b4e37b97.jpeg#pic_center)
当涉及到Ant Design Mobile of React(AMR)的基础页面登录页、注册页、主页、个人中心、列表页、详情页、设置页、搜索页和升级页的开发时,以下是一些需要注意的知识点的总结:
1. 组件使用:AMR提供了丰富的组件库,如Form、Input、Button、List、Card、Accordion等,可以根据需求选择合适的组件来构建各个页面。
2. 表单验证:使用AMR的Form组件和表单验证规则来实现对用户输入的验证,确保数据的准确性和完整性。
3. 导航菜单和路由管理:导航菜单,使用AMR的TabBar和TabBarItem组件来创建主页的导航菜单,并通过选中状态切换页面。路由管理:使用React Router库来管理不同页面之间的路由,通过Route组件匹配路径并渲染相应的组件,通过Link组件实现页面之间的导航。
4. 页面布局:使用AMR的Card、List等组件来创建页面的布局结构,包括标题、描述、图标等内容。
5. 表单输入:使用AMR的Input、Checkbox等组件来实现用户的输入,包括用户名、密码、邮箱等。
6. 消息提示:使用AMR的Toast、Message等组件来显示登录失败、注册成功等消息提示。
7. 页面跳转:使用Link组件和React Router的编程式导航来实现页面之间的跳转。
8. 数据展示:使用AMR的List和ListItem组件来展示列表页和搜索页的数据列表,可以自定义内容和样式。
9. 版本管理:使用AMR的List和Button组件来展示当前应用的版本信息,并提供升级功能。
10. 折叠展开:使用AMR的Accordion组件实现详情页内容的折叠展开效果,提供更多详细信息。
以上是对于开发这九个基础页面时需要注意的一些知识点的总结。通过合理运用AMR的组件和React Router的路由管理,你可以构建出美观、功能丰富的移动应用界面。如果有任何进一步的问题,请随时提问。
## 六、前面提到的知识点的分别示例代码:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/12d6e254d1e149c4ad6610f71a4c7b4f.webp#pic_center)
1. 组件使用示例:
import { Form, Input, Button, List, Card, Accordion } from ‘antd-mobile’;
const ExampleComponent = () => {
return (
<Form.Item>
</Form.Item>
<Form.Item>
</Form.Item>
登录
<List>
<List.Item>列表项1</List.Item>
<List.Item>列表项2</List.Item>
<List.Item>列表项3</List.Item>
</List>
<Card>
<Card.Header title="详情页标题" />
<Card.Body>
<List>
<List.Item>详情项1</List.Item>
<List.Item>详情项2</List.Item>
<List.Item>详情项3</List.Item>
</List>
<Accordion>
<Accordion.Panel header="更多信息">
更多详细内容...
</Accordion.Panel>
</Accordion>
</Card.Body>
</Card>
</div>
);
};
2. 表单验证示例:
import { Form, Input, Button, Toast } from ‘antd-mobile’;
const LoginForm = () => {
const handleSubmit = (values) => {
if (values.username === ‘’ || values.password === ‘’) {
Toast.fail(‘请输入用户名和密码’);
} else {
// 处理登录逻辑
Toast.success(‘登录成功’);
}
};
return (
<Form.Item name=“username” rules={[{ required: true, message: ‘请输入用户名’ }]}>
</Form.Item>
<Form.Item name=“password” rules={[{ required: true, message: ‘请输入密码’ }]}>
</Form.Item>
登录
);
};
3. 导航菜单和路由管理示例:
import { BrowserRouter as Router, Route, Link } from ‘react-router-dom’;
import { TabBar } from ‘antd-mobile’;
const HomePage = () => {
return
主页内容
;};
const ProfilePage = () => {
return
个人中心内容
;};
const App = () => {
const [selectedTab, setSelectedTab] = useState(‘home’);
return (
<div style={{ position: ‘fixed’, height: ‘100%’, width: ‘100%’, top: 0 }}>
<TabBar.Item
title=“首页”
key=“home”
selected={selectedTab === ‘home’}
onPress={() => setSelectedTab(‘home’)}
>
主页
</TabBar.Item>
<TabBar.Item
title=“个人中心”
key=“profile”
selected={selectedTab === ‘profile’}
onPress={() => setSelectedTab(‘profile’)}
>
个人中心
</TabBar.Item>
);
};
4. 页面布局示例:
import { Card, List } from ‘antd-mobile’;
const DetailPage = () => {
return (
<Card.Header title=“详情页标题” />
<Card.Body>
<List renderHeader={() => ‘基本信息’}>
<List.Item>详情项1</List.Item>
<List.Item>详情项2</List.Item>
<List.Item>详情项3</List.Item>
<Accordion.Panel header=“更多信息”>
更多详细内容…
</Accordion.Panel>
</Card.Body>
);
};
5. 表单输入示例:
import { Form, Input, Checkbox } from ‘antd-mobile’;
const SettingsPage = () => {
return (
<Form.Item name=“username” rules={[{ required: true, message: ‘请输入用户名’ }]}>
如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!