handleHitKnowledgeChange = async (value: any) => {
const hitKnowledgeTableFilter = this.state.hitKnowledgeTableFilter
let filterTableData: any[] = []
if (this.state.hitKnowledgeTableType.includes(value)) {
hitFilter.type = value
if (value === 'type') {
hitFilter.type = 'type'
if (this.state.hitKnowledgeTableCategorys.includes(value)) {
hitFilter.Category = value
if (value === 'Category') {
hitFilter.Category = 'Category'
if (this.state.hitKnowledgeTableCatalogs.includes(value)) {
hitFilter.Catalogs = value
if (value === 'Catalogs') {
hitFilter.Catalogs = 'Catalogs'
if (['直连人工', '非直连人工'].includes(value)) {
hitFilter.Direct = value
if (value === 'direct') {
hitFilter.Direct = 'direct'
let filterStr = 'item=> item != undefined'
if (!!hitFilter.type && hitFilter.type !== 'type') {
filterStr += `&&item.kdType==='${hitFilter.type}'`
else {
filterStr += '&&item.kdType!==undefined'
if (!!hitFilter.Category && hitFilter.Category !== 'Category') {
filterStr += `&&item.kdCategory==='${hitFilter.Category}'`
else {
filterStr += '&&item.kdCategory!==undefined'
if (!!hitFilter.Catalogs && hitFilter.Catalogs !== 'Catalogs') {
filterStr += `&&item.kdCatalog==='${hitFilter.Catalogs}'`
else {
filterStr += '&&item.kdCatalog!==undefined'
if (!!hitFilter.Direct && hitFilter.Direct !== 'direct') {
filterStr += `&&item.kdDirectManual==='${hitFilter.Direct}'`
else {
filterStr += '&&item.kdDirectManual!==undefined'
filterTableData = hitKnowledgeTableFilter.filter(eval(filterStr))
this.setState({
hitKnowledgeTable: filterTableData,
handleHitKnowledgeChange = async (value: any) => { const hitKnowledgeTableFilter = this.state.hitKnowledgeTableFilter let filterTableData: any[] = [] if (this.state.hitKnowledgeTableType.includes(value)) { hitFi...
之前一年多前接手的一个react项目,前段时间因为做业务中台项目,对公司现有的应用项目做中台化改造,这期间将项目部署到uat环境,测试期间,测试小妹妹和产品大叔都吐槽进入uat项目的时候要load很久,白屏时间超过30s,体验很差,生产不至于这么慢但也是白屏时间挺长的,所以减少白屏时间增加用户体验成为了当务之急。复制代码
通过控制台判断加载资源时间还有资源大小
通过开发者工具可以看到白屏的主要原因在于bundle.js这个打包后的文件过大,达到3.6M加上uat环境带宽等问题的话,光加载这个bundle.js就花了30s+,所以白屏时间太长,用户体验差要解决这个问题就得从这个bu
React中antd日期选择框选择时间区间,禁用时间今天为基准,今天以前可选,今天以后可选区间范围可选
今天为基准,今天以前可选,今天以后可选
handleDate= current => {
if (!current) {
return false
} else {
return current > moment()//今天以后可选
console.log(this.state.poDatas)
var showfilterList = this.state.poDatas.filter(checkeddata)
console.log(‘过滤后:’)
console.log(showfilterList)
this.set
var grades = [
{team: "Team1", name: "Alice", grade: 80},
{team: "Team1", name: "Bruce", grade: 90},
{team: "Team1", name: "Cindy", grade:
在FilterPicker组件中需要完成的步骤:
1.1.3 代码示例
在src/pages/HouseList/components/Filter/index.js中添加如下代码:
首先,提供组件展示或隐藏的状态和筛选条件数据:
然后,在render方法中判断openType的值为area/mode/price 时,就显示FilterPicker组件,以及遮罩层:
然后,在标题点击事件中,修改状态openType为当前type,展示对话框:
我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷
在日常的数据处理中 未免要处理数组数据 常规的会进行一个过滤的一个操作 一般用的map会比较多一点 直接外部定义一个变量 然后push进去 最后return