antd框架的表單的分頁功能


  

 一般情況下,都是表格的分頁需求。(獲得頁面的數據,需要的參數(itemname, mutant_gene ,nucleotide,pageNo,pageSize))

       //  在modal文件下

  * eff_getSiteInformation ({ payload, }, { call, put, select }) {
    const resp = yield call(getSiteInformation, payload)
    if (isSucc(resp)) {
      let SiteInformationList = resp.data.list
      let pagination = {
        current: resp.data.pageNum,
        total: resp.data.total,
        pageSize: payload.pageSize,
        showTotal: (total) => `共${total}條記錄`
      }
      let idx = (pagination.current - 1) * pagination.pageSize + 1
      for (let item of SiteInformationList) {
        item.index = idx
        idx++
      }
      yield put({type: 'update', payload: {SiteInformationList, pagination}})
    }
  }
       //  另一個組件中(兄弟組件)通過modal中的searchJson來實現組件中的值,變為全局可用  (另外一些參數在另一個兄弟組件中:itemname, mutant_gene ,nucleotide)
  this.props.form.validateFields((err, values) => {
    if (err) {
      return
    }
    let json = {
      itemname: values.itemId,
      mutant_gene: values.mutable,
      nucleotide: values.change,
      pageSize: 10,
      pageNo: 1
    }
    this.props.dispatch({type: 'siteConfig/searchJson', payload: json})
    this.props.dispatch({type: 'siteConfig/eff_getSiteInformation', payload: json})
  })
      //  在model中的searchJson
  reducers: {
    searchJson (state, {payload}) {
      return { ...state, searchJson: payload }
    }
  }
      
       //  在view文件下
       //  頁碼改變的回調函數,需要傳參,這里因為一部分參數是另一個組件(兄弟組件)中的值,所以需要通過modal來進行值之間的通信
  onPaginationChange = (searchObj) => {
    let { pageNum, pageSize } = searchObj
    let searchJson = this.props.siteConfig.searchJson
    searchJson.pageNo = pageNum
    searchJson.pageSize = pageSize
    this.props.dispatch({type: 'siteConfig/searchJson', payload: searchJson})
    this.props.dispatch({type: 'siteConfig/eff_getSiteInformation', payload: searchJson})
  }

      //分頁的一些配置  (只知道一些參數:pageNo,pageSize)

  const pagination = {
    onChange: (pageNum, pageSize) => this.onPaginationChange({ pageNum, pageSize }),   //  頁碼改變的回調,參數是改變后的頁碼及每頁條數
    onShowSizeChange: (pageNum, pageSize) => this.onPaginationChange({pageNum, pageSize}),  //  pageSize 變化的回調
    ...this.props.siteConfig.pagination,
    showSizeChanger: true,
    showQuickJumper: true,
  }
  <Table
    pagination={pagination}  //分頁功能
    dataSource={dataSource}
    columns={this.getTableColumns}
    rowSelection={rowSelection}
    scroll = {{x: 1300}}
  />

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM