11import React , { useState , useEffect } from 'react'
22import { Row , Col , Form , Table , Input , Button , Spin , Select } from 'antd'
33import { listColumns } from './util'
4- import { stockPageList , IStockQuery } from '../../services/stock'
4+ import { stockPageList , StockQuery } from '../../services/stock'
55import { data2PageData , pageData2Params } from '../../utils/tools'
6- import { marketOpts , blockOpts } from '../../types/stock'
6+ import { Stock , marketOpts , blockOpts } from '../../types/stock'
77
88const ShareList : React . FC = ( ) => {
99
10- const [ code , setCode ] = useState ( '' )
11- const [ name , setName ] = useState ( '' )
10+ const [ form ] = Form . useForm < StockQuery > ( )
11+
1212 const [ loading , setLoading ] = useState ( false )
13- const [ pageData , setPageData ] = useState ( data2PageData ( ) )
13+ const [ pageData , setPageData ] = useState ( data2PageData < Stock > ( ) )
1414
15- const onQuery = ( params : Partial < IStockQuery > = pageData2Params ( pageData . meta ) ) => {
15+ const onQuery = ( params = pageData2Params ( pageData . meta ) ) => {
16+ const vals = form . getFieldsValue ( )
1617 setLoading ( true )
17- stockPageList ( { ...params , code , name } ) . then ( res => {
18+ stockPageList ( { ...params , ... vals } ) . then ( res => {
1819 const data = data2PageData ( res )
1920 setPageData ( data )
2021 } ) . finally ( ( ) => setLoading ( false ) )
@@ -26,26 +27,26 @@ const ShareList: React.FC = () => {
2627
2728
2829 return < Spin spinning = { loading } >
29- < Form >
30+ < Form form = { form } >
3031 < Row gutter = { 16 } >
3132 < Col span = { 6 } >
32- < Form . Item >
33- < Input placeholder = "代码" onChange = { ( { target : { value } } ) => setCode ( value ) } />
33+ < Form . Item name = "code" >
34+ < Input allowClear placeholder = "代码" />
3435 </ Form . Item >
3536 </ Col >
3637 < Col span = { 6 } >
37- < Form . Item >
38- < Input placeholder = "名称" onChange = { ( { target : { value } } ) => setName ( value ) } />
38+ < Form . Item name = "name" >
39+ < Input allowClear placeholder = "名称" />
3940 </ Form . Item >
4041 </ Col >
4142 < Col span = { 6 } >
42- < Form . Item >
43- < Select placeholder = "请选择市场" />
43+ < Form . Item name = "market" >
44+ < Select allowClear placeholder = "请选择市场" options = { marketOpts ( ) } />
4445 </ Form . Item >
4546 </ Col >
4647 < Col span = { 6 } >
47- < Form . Item >
48- < Select placeholder = "请选择板块" />
48+ < Form . Item name = "block" >
49+ < Select allowClear placeholder = "请选择板块" options = { blockOpts ( ) } />
4950 </ Form . Item >
5051 </ Col >
5152 </ Row >
@@ -58,6 +59,7 @@ const ShareList: React.FC = () => {
5859 < Table
5960 columns = { listColumns ( ) }
6061 dataSource = { pageData . data }
62+ key = "code"
6163 pagination = { {
6264 ...pageData . meta ,
6365 onChange : ( page , pageSize ) => onQuery ( { page, pageSize} )
0 commit comments