Tree组件
参考 TreeSelect
异步加载数据
使用redux时,TreeSelect异步加载数据需要通过触发action调用后台获取数据,根据reducer更新的state显示出加载的数据。需添加loadData属性,值为一个方法,如onLoadData,内容如下。
这个函数的返回值好像必须是一个Promise对象,如果不这么写,会报Uncaught TypeError: Cannot read property 'then' of undefined(…)
。
|
|
Form组件
使用mapPropsToFields和onFieldsChange的校验问题
Form组件如下方式使用,获取不到校验信息了,浏览器的控制台会有打印的校验结果,但没有反映在页面上,但如果不使用mapPropsToFields是好使的。
解决方法是调用Form组件是传入一个props及更新该props的方法,如formErrItem、updateFormErrItem,在onFieldsChange中添加
在Form组件中通过,this.props.formErrItem可获取校验信息。
ref引用
在使用Form组件时,在Form.create时需要添加withRef: true
才能获取到组件内部定义的方法或state。
|
|
Table组件
参考 Table
单选
如果Table组件中要进行单选,需要进行如下配置:
- 将Table组件rowSelection属性的type值设置为radio,当前选中的数据由radioIndex控制
- 注意,ant-design的Table组件,对于单选类型的,无法自己管理radioIndex值,如果想要自己管理radioIndex值,需要在Table组件中添加如下代码12345if (('radioIndex' in nextProps) && nextProps.radioIndex !== null ) {this.setState({radioIndex: nextProps.radioIndex || null});}
行样式
Table组件的rowClassName属性,如:rowClassName={(record, index) => record['_delete_'] ? 'ant-table-row-delete' : '' }
不显示页码
Table组件的pagination属性为false
pagination
pagination.pageSize不为10、20、30、40中的值时,分页处显示的只有一个值,如15,而不是像10 条/页这样
需要给Table组件传入的pagination中有自定义的pageSizeOptions属性,该属性的值为所有需要显示的每页条数的数组
列表勾选行样式问题
在勾选列表行的checkbox或是列表可编辑的下拉框时,点击所在的行会发生颜色抖动,直接运行官方例子也有这个问题。后来发现可能是Chrome浏览器的问题,如果用360浏览器就不会有这个问题。很奇怪!