当前位置: 首页 > news >正文

门户网站和社交网络的区别广东深圳职业技术学校

门户网站和社交网络的区别,广东深圳职业技术学校,二级网站的建设方案,网站编辑 教程我想当然地认为只要dataSource改变#xff0c;那么Table组件就会重新渲染#xff0c;但是有一种特殊情况例外#xff1a;在onFilter()中不写筛选条件#xff0c;在调用filterDropdown进行列筛选的时候#xff0c;通过handleSearch改变/保存dataSource的状态#…我想当然地认为只要dataSource改变那么Table组件就会重新渲染但是有一种特殊情况例外在onFilter()中不写筛选条件在调用filterDropdown进行列筛选的时候通过handleSearch改变/保存dataSource的状态此时Table重新渲染但是拿的不是dataSource{xxx}而是拿的filterDropdown中的onFilter()中的dataSource而onFilter中是没有写代码的所以返回暂无数据。 PS解释下我不在onFilter()中写代码的原因因为我已将dataSource保存到state中所以需要setState去更改dataSource数据但是onFilter()方法是在componentDidUpdate()周期调用的所以setState会报错所以我想到了在onClick中setState但这样console.log出来dataSource更改了但是table显示暂无数据。 示例代码 handleSearch(){  this.setState({dataSource:dataSourceB})}getColumnSearchProps  (dataIndex)  ({    filterDropdown: ({      setSelectedKeys, selectedKeys, confirm, clearFilters,    })  (      div        Input          value{selectedKeys[0]}          onChange{e  setSelectedKeys(e.target.value ? [e.target.value] : [])}          onPressEnter{()  this.handleSearch(selectedKeys, confirm)}        /        Button          onClick{()  this.handleSearch(selectedKeys, confirm)}                  Search        /Button      /div    ),    //筛选条件没有写代码所以没有数据返回所以是暂无数据    onFilter: (value, record) {  },  })render{  return(    Table      column{ [{...this.getColumnSearchProps(name)}}      dataSource{dataSourceA}      ) }复制代码 示例代码地址ant.design/components/… 列筛选逻辑的流程图如下 onFilter()的源码  getLocalData(state?: TableStateT | null, filter: boolean  true): ArrayT {    const currentState: TableStateT  state || this.state;    const { dataSource }  this.props;    let data  dataSource || [];    // 优化本地排序   //就是这行代码通过slice另开内存来保存dataSource    data  data.slice(0);    const sorterFn  this.getSorterFn(currentState);    if (sorterFn) {      data  this.recursiveSort(data, sorterFn);    }    // 筛选    if (filter  currentState.filters) {      Object.keys(currentState.filters).forEach(columnKey  {        const col  this.findColumn(columnKey) as any;        if (!col) {          return;        }        const values  currentState.filters[columnKey] || [];        if (values.length  0) {          return;        }        const onFilter  col.onFilter;        data  onFilter          ? data.filter(record  {              return values.some(v  onFilter(v, record));            })          : data;      });    }    return data;  }复制代码 onFilter()的源码地址github.com/ant-design/… 完
http://www.pierceye.com/news/495760/

相关文章:

  • 做网站的会计分录广州公司注册需要什么条件
  • 小米4路由器可以做网站嘛服务类网站建设服务公司
  • 电子商务网站建设规划书实例注册微信公众平台
  • 网站设计课程总结线上营销方案
  • 谷城网站建设网站集群建设实施方案
  • 怎么做外贸生意谷歌seo服务
  • 做网站好还是做淘宝好市场调研模板
  • 网站做换肤做一个平台费用是多少
  • 省内注销二建 建设部网站更新慢网站建设合同书封皮
  • 天津城市建设网站营销型网站的好处
  • 网站建设维护文档好看的页面
  • 网站搜索优化官网网站建设在电子商务中的作用的看法
  • 网站推广费用价格html大屏展示模板
  • 编辑网站用什么软件网站开发人员职责
  • 网站搜索引擎提交wordpress发布站点
  • 阳春网站建设天水网站seo
  • 仙桃市建设局网站wordpress链接前面的图标
  • 温州市城乡建设建档案馆网站公司装修费用可以一次性入账吗
  • 房地产开发公司网站宠物网页设计模板
  • 网站备案信息可以改吗中国做二手房最大的网站
  • 设计 企业网站罗湖网站-建设深圳信科
  • 太原自助模板建站手机版电脑qq登录入口
  • 公司网站建设哪家比较好app 网站
  • 建设银行个人网站打不开个人主页模板下载
  • 山西建设公司网站wordpress视频适应手机端
  • 原型样网站做一般的公司门户网站投资额
  • 南宁百度网站公司电话网站配置优化
  • 德州网站建设的公司免费注册公司怎么注册
  • 成都开发网站建设中国建设规划采购网站
  • 企业网站建设应避免数据孤岛深圳东莞网站建设