react-ui icon indicating copy to clipboard operation
react-ui copied to clipboard

关于table的问题

Open zhangqhzz opened this issue 7 years ago • 5 comments

table组件使用fetch参数是可以得到数据,但我的分页数据每次都是从后台取,而不是一次性取出来,这个怎么处理?

zhangqhzz avatar May 04 '18 01:05 zhangqhzz

实际上Table中的filter sort均是需要向后台请求的,目前的Table只能一次性取出全部数据然后再处理

zhangqhzz avatar May 04 '18 02:05 zhangqhzz

不用内置的分页,用Pagination组件。

Lobos avatar May 04 '18 03:05 Lobos

不知如何用,因为Table组件是compose( Fetch(true), Filter, Sort, Pagination )(Table)的,都内置了

zhangqhzz avatar May 04 '18 03:05 zhangqhzz

在使用Table组件时,不设置pagination,然后在Table下加<Pagination .../>吗? 这样没有组合的来得方便了

zhangqhzz avatar May 04 '18 03:05 zhangqhzz

嗯,是这样的,因为每个业务涉及到分页的情况都不一样,所以不好做成通用的组件。复用的话,自己外面在封装一层就可以了。大概类似这样。

class CustomTable extends Component {
  constructor(props) {
    // ...
    this.state = { page = 1, size = 20 }
  }

  componentDidMount() {
    this.fetch()
  } 

  fetch() {
    // fetch data
    const { page, size } = this.state
    fetch(this.props.baseUrl, {page,size}).then(...)
  }

  handlePageChange() {
     this.setState({...},  this.fetch)
  }

  render() {
    <Table />
    <Pagination />
  }
}

Lobos avatar May 04 '18 04:05 Lobos