dva开发一个cnode网站(4)

news/2024/4/26 19:34:27/文章来源:https://blog.csdn.net/weixin_34396103/article/details/88686215
增加分类标签,效果如下:
图片描述

1 修改ListData组件

完整代码:

import React , { Component }from 'react';
import { List, Avatar, Icon, Spin ,Tag } from 'antd';
import PropTypes from 'prop-types';
import { connect } from 'dva';
import './my.css';
import {Link} from 'dva/router';class ListData extends Component{changeType(tab) {const { dispatch,pageSize} = this.propsdispatch({ type: 'listdata/query', payload: { page:1,pageSize,type:tab} })}render() {const IconText = ({ type, text }) => (<span><Icon type={type} style={{ marginRight: 8 }} />{text}</span>
);const MyTag= {share:'分享',ask: '问答', job: '招聘',good: '精化', dev: '客户端测试'};const Colors= {share:'#87d068',ask: '#2db7f5', job: 'purple',good: 'orange', dev: 'lime'};return (<Spin spinning={this.props.loading.global}size='large'tip="数据正在加载中"><div><Tag onClick={this.changeType.bind(this,'all')} color={this.props.type==='all' ? "#87d068" : "#2db7f5"}>全部</Tag><Tag onClick={this.changeType.bind(this,'good')} color={this.props.type==='good' ? "#87d068" : "#2db7f5"}>精华</Tag><Tag onClick={this.changeType.bind(this,'share')} color={this.props.type==='share' ? "#87d068" : "#2db7f5"}>分享</Tag><Tag onClick={this.changeType.bind(this,'ask')} color={this.props.type==='ask' ? "#87d068" : "#2db7f5"}>问答</Tag><Tag onClick={this.changeType.bind(this,'job')} color={this.props.type==='job' ? "#87d068" : "#2db7f5"}>招聘</Tag><Tag onClick={this.changeType.bind(this,'dev')} color={this.props.type==='dev' ? "#87d068" : "#2db7f5"}>客户端测试</Tag></div><ListitemLayout="vertical"size="large"pagination={{onChange: (page) => {console.log(page);this.props.dispatch({ type: 'listdata/query', payload: { page:page,pageSize:this.props.pageSize,type:this.props.type} })},pageSize: this.props.pageSize,total:500,current:this.props.page}}dataSource={this.props.pageData}renderItem={item => (<List.Itemkey={item.title}actions={[<IconText type="star-o" text={item.visit_count} />, <IconText type="like-o" text={item.visit_count} />, <IconText type="message" text={item.reply_count} />]}><List.Item.Metaavatar={<Avatar src={item.author.avatar_url} />}title={<a>{item.author.loginname}</a>}description={item.create_at}/>{item.top ? <Tag color='#f50'>置顶</Tag> : <Tag color={Colors[item.tab]}>{MyTag[item.tab]}</Tag>}<Link to={'/detail/'+item.id}>{item.title}</Link></List.Item>)}/></Spin>);}componentWillMount () {const { dispatch, type, pageSize,page} = this.propsdispatch({ type: 'listdata/query', payload: { page,pageSize,type} })}
};ListData.propTypes = {type: PropTypes.string.isRequired,pageSize: PropTypes.number.isRequired,
};function mapStateToProps(state) {const {pageSize,type,page,pageData} = state.listdata;return {pageSize,type,page,pageData,loading:state.loading};
}// export default ListData;
export default connect(mapStateToProps)(ListData);

2 在列表头部增加tag组件

    <div><Tag onClick={this.changeType.bind(this,'all')} color={this.props.type==='all' ? "#87d068" : "#2db7f5"}>全部</Tag><Tag onClick={this.changeType.bind(this,'good')} color={this.props.type==='good' ? "#87d068" : "#2db7f5"}>精华</Tag><Tag onClick={this.changeType.bind(this,'share')} color={this.props.type==='share' ? "#87d068" : "#2db7f5"}>分享</Tag><Tag onClick={this.changeType.bind(this,'ask')} color={this.props.type==='ask' ? "#87d068" : "#2db7f5"}>问答</Tag><Tag onClick={this.changeType.bind(this,'job')} color={this.props.type==='job' ? "#87d068" : "#2db7f5"}>招聘</Tag><Tag onClick={this.changeType.bind(this,'dev')} color={this.props.type==='dev' ? "#87d068" : "#2db7f5"}>客户端测试</Tag></div>

一共6种类型

3 为每一种类型添加鼠标点击事件

  changeType(tab) {const { dispatch,pageSize} = this.propsdispatch({ type: 'listdata/query', payload: { page:1,pageSize,type:tab} })}

点击后重新获取新的数据,请求参数,页码为1默认获取第一页数据

4 给列表的每一条数据也添加tag

   const MyTag= {share:'分享',ask: '问答', job: '招聘',good: '精化', dev: '客户端测试'};const Colors= {share:'#87d068',ask: '#2db7f5', job: 'purple',good: 'orange', dev: 'lime'};
{item.top ? <Tag color='#f50'>置顶</Tag> : <Tag color={Colors[item.tab]}>{MyTag[item.tab]}</Tag>}

主要是根据item.tab的来变换颜色以及显示文字

最后效果

图片描述

这节课内容比较简单,基本上整个网站的主体就完成了,下节课再把剩下几个页面一搞。
欢迎关注我的公众号mike啥都想搞,学习更多内容。
mike啥都想搞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_737185.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站主要服务器,网站服务器的主要操作系统

网站服务器的主要操作系统 内容精选换一换首先需要准备一台Linux系统的物理服务器作为镜像制作服务器(即宿主机)。制作x86镜像选用x86服务器&#xff0c;制作ARM镜像选用ARM服务器。宿主机必须安装&#xff1a;vsftpd服务sshd服务vnc服务virt-manager工具kvm虚拟化软件虚拟化管…

五个让你一生受用的资源网站

还在为找不到好的资源网站而发愁吗&#xff0c;这里我就向大家分享一下几个资源满满的资源网站&#xff0c;希望你能喜欢。一、55小说网 55小说网是一个专门看小说的网站&#xff0c;里面拥有海量的小说资源&#xff0c;什么类型的都有&#xff0c;包括修真、玄幻、都市、网游…

五款优质资源网站 每一个都让你欲罢不能

是否还在为找找不到想要的资源而烦恼&#xff0c;是否还在百度上搜索找资源&#xff0c;今天我就给大家分享几个优质的资源网站&#xff0c;希望你能喜欢。一、海盗湾 海盗湾&#xff0c;是一个专注分享高清电影BT种子的资源网站&#xff0c;这里有很多种类型的热门电影资源&a…

五大黑科技资源网站,你想要的这里都有

如今的网上资源是越来越多&#xff0c;你想要的一些资源如影视、小说、音乐的等都可以搜索得到&#xff0c;今天我就向大家分享几个非常丰富的资源网站。 1、恒言中文网 一个小说阅读网站&#xff0c;里面有各种各样的小说供你选择&#xff0c;不管是玄幻还是都市&#xff0c…

五个顶级资源网站 就没有你找不到的

随着互联网的崛起&#xff0c;各种各样的网站也随之出现&#xff0c;一些找稀有的资源也出现在各大网站上&#xff0c;今天我就跟大家分享一下几个资源满满的资源网站。1、起点中文网 这是一个小说阅读网站&#xff0c;里面有着各种类型的小说&#xff0c;像玄幻、都市这种非常…

资源任你选,这几个网站你值得收藏

相信有不少人在为找不到资源而烦恼吧&#xff0c;其实如今互联网上资源网站有很多&#xff0c;只是大家都还不知道名字而已&#xff0c;这里我就向大家分享几个非常强大的资源网站。 1、美剧在线看 如今美剧资源越来越难找&#xff0c;更多的是在网盘里搜资源&#xff0c;但是…

悄悄送你几个黑科技资源网站 赶紧收藏起来

如今电脑上的网站成千上万&#xff0c;但是你却不知道几个&#xff0c;今天在这里我就悄悄地和你们分享几个资源泛滥的网站&#xff0c;记得收藏哦。 1、馒头影视 所有片源&#xff0c;画质都相当不俗&#xff01;这点难能可贵&#xff0c;分类丰富&#xff0c;电影、电视剧、…

五个资源巨多的网站 错过了要找就难了

大家都知道&#xff0c;在如今网络通畅&#xff0c;互联网发达的时代&#xff0c;各种各样的资源网站也逐渐浮出水面&#xff0c;今天我就向大家分享几个不错的资源网站&#xff0c;希望你们能找到自己想要的资源。 1、资源狗 这是一个收录了非常多资源网站的比较综合的网站&…

几个强大到没朋友的资源网站 个个都是精品

你想看的小说电影电视有没有在网上搜不到的&#xff0c;其实并不是搜不到&#xff0c;而是你搜索的方式不对&#xff0c;想要找到梦寐以求的资源需要选择对的网站&#xff0c;今天我就为大家介绍几个资源满满的网站&#xff0c;希望有你需要的。1、疯狂影视搜索 疯狂影视搜索是…

五个好评不断的资源网站 绝对不能错过

网络时代的发展已经越来越迅速了&#xff0c;在网站上找资源根本就不用费什么力&#xff0c;只要你知道网站的名字和网址即可&#xff0c;如今的网络和电脑硬盘的强大能满足你对资源的需求。而今天我带来的就是几个资源网站的名字&#xff0c;觉得有用的话就去搜索一下吧。 1、…

找不到资源?这五个网站小说、影视随便看

随着互联网快速的发展&#xff0c;很多强大、优秀的网站都脱颖而出&#xff0c;想要找到好的资源就要在这些网站中寻找&#xff0c;今天我就我为大家带来几款资源非常丰富的网站&#xff0c;就怕你觉得太多了。 1、看看屋 在线观看影视资源网站&#xff0c;你还在百度上面找电…

5个可遇不可求的资源网站 赶紧收藏起来

还在为到处寻找资源而烦恼吗&#xff0c;今天我来和大家分享几款资源超多的网站&#xff0c;不管是影视、动漫&#xff0c;还是学习资源&#xff0c;都应有尽有。一起来看一下吧。 1、搬运工 可以说这是小编比较常用的影视资源网站了&#xff0c;可以说很多新上的影视资源&am…

五个资源超多的资源网站 每一个都是精品

每天都有人在寻找资源&#xff0c;除了在百度上搜索&#xff0c;在其他的网站上也一样可以找到非常多的资源&#xff0c;而今天我为大家分享的就是就几个资源超多的网站&#xff0c;让你找资源不再那么辛苦。 1、嗨哆咪影视 很多人找电影资源都会在网盘中搜索&#xff0c;其实…

分享5个相见恨晚的资源网站 每个都值得收藏

网上的资源永远找不完&#xff0c;随着5G时代即将到来&#xff0c;互联网也将越来越强大&#xff0c;资源网站也会越来越多。今天我就和大家分享几个资源巨多的网站&#xff0c;喜欢的话可以收藏一下。 1、磁力熊 1080P高清电影磁力链接下载站&#xff0c;收录的都是评分非常…

超级强大的五个资源网站 想要的资源都有

还在为找不到资源而烦恼吗&#xff0c;今天在这里和大家分享几个资源超丰富的网站&#xff0c;什么电影、音乐、学习资源&#xff0c;你想要的这里都有。 1、草名电影 宅人必备的影视资源&#xff0c;你除了可以看到最新的电视剧&#xff0c;刚上映没几天的电影也可以看&…

这五个资源超多的资源网站 请务必珍藏起来

现在很多人都会在网上找资源&#xff0c;如今互联网的快速发展也让大家找起资源来非常的容易&#xff0c;只要有好的资源网站&#xff0c;就不怕没有找不到的资源。而今天我和大家分享的就是几个资源超多的网站&#xff0c;希望你们不再缺少资源。 1、落花网 这个就很厉害了&…

资源网站合集 五个值得你收藏的网站

现在网上的资源是非常的多&#xff0c;很多人都喜欢在百度上寻找资源&#xff0c;但是想要找到好看好听的资源却不是那么容易&#xff0c;今天我就为大家分享几个优秀的资源网站&#xff0c;希望你能找到想要的资源。 1、听雨轩 网站里面不仅有网络电台&#xff0c;涵盖了情感…

相见恨晚的5个资源网站 影视音乐资源随你看

找不到资源&#xff1f;资源难找&#xff1f;其实并不是资源太难找&#xff0c;而是你们缺乏一个好的资源网站&#xff0c;今天我就和大家分享几个资源超多的网站&#xff0c;影视、音乐、图片资源应有尽有。 1、徒众在线听歌 徒众在线听歌&#xff0c;这个对于喜欢听歌的小伙…

5个非常牛掰的资源网站 没有你搜不到的资源

还在到处在资源吗&#xff0c;还在百度上搜索资源吗&#xff0c;今天我就为大家带来几个百度搜不到的资源网站&#xff0c;让你的电脑硬盘装满资源。 1、影迷导航网 这个网站主要是用来搜电影资源的&#xff0c;分为在线观看、下载资源、影视推荐、影视服务四个版块&#xff…

这五个资源网站真的是非常强大 请尽快收藏

如今网上的资源是越来越多&#xff0c;但是却不是那么容易找到&#xff0c;这时你就需要几个强大的资源网站了&#xff0c;今天我就和大家分享几个这样的网站&#xff0c;希望大家找到想要的资源。 1、茶杯狐 很好用的一个电影搜索网站&#xff0c;可以搜索到各大平台公开分享…