antd组件库使用笔记
2023-09-11 14:21:35 时间
1、table表单,开启复选框时,多选删除,删除成功之后需要清除之前已选择的部分。此时需要给table一个
rowSelection属性,属性值里面使用selectedRowKeys和onChange配合使用
并在删除成功后将selectedRowKeys属性值清空即可
selectedRowKeys指定选中项的 key 数组,需要和 onChange 进行配合,其实质和input框的双向数据绑定是一个原理
render() { const { loading, selectedRowKeys } = this.state; const rowSelection = { selectedRowKeys, onChange: this.onSelectChange, }; const hasSelected = selectedRowKeys.length > 0; return ( <div> <div style={{ marginBottom: 16 }}> <Button type="primary" onClick={this.start} disabled={!hasSelected} loading={loading}> Reload </Button> <span style={{ marginLeft: 8 }}> {hasSelected ? `Selected ${selectedRowKeys.length} items` : ''} </span> </div> <Table rowSelection={rowSelection} columns={columns} dataSource={data} /> </div> ); }
2、form的使用,在使用form表单的组件中,使用Form.create函数处理过的组件会有一个form属性,即this.props.form。此时就可以通过this.props.form来获取表单值等操作
注意在v4版本中,废弃了Form.create转而使用Form.useForm,这两个函数都返回一个form实例
FormInstance
// 获取输入框name的值 this.props.from.getFieldValue("name")
另外:在父组件中也可以获取封装的子组件的ref,父组件想拿到子组件的 ref
,使用 antd 的 Form.create()
包装子组件之后,可以通过包装后的组件的 wrappedComponentRef
拿到子组件的实例
<Row className="table-header-container"> <Col xxl={{ span: 19 }} xl={{ span: 24 }}> <FilterForm //@ts-ignore onSearch={this.onSearch.bind(this)} wrappedComponentRef={(form: any) => (this.filterform = form) } /> </Col> </Row>
3、from表单校验
在做form表单校验时,如下代码,定义校验规则rules时,rules数组中的最后一个规则是无法生效的,原因在于,validator自定义规则必须在rules规则数组的最后一个元素
const rules: any = [ { message: "参数不能为空", required: true, }, { validator: (rule: any, value: any, callback: any) => {} }, { message: "只允许输入整型数字", pattern: new RegExp(/^[1-9][0-9]{0,}$/, "g"), } ]
4、table组件,自定义空状态
ConfigProvider 使用 React 的 context 特性,只需在应用外围包裹一次即可全局生效。
import { ConfigProvider } from 'antd'; // ... export default () => ( <ConfigProvider direction="rtl"> <App /> </ConfigProvider> );
空状态配置使用属性,值为reactNode
renderEmpty
const customizeRenderEmpty = () => ( //这里面就是我们自己定义的空状态 <div style={{ textAlign: ‘center‘ }}> <Icon type="smile" style={{ fontSize: 20 }} /> <p>空状态信息提示</p> </div> ); class Home extends Component{ render() { return( <ConfigProvider renderEmpty={customizeRenderEmpty}> <Table columns={columns} dataSource={data} /> </ConfigProvider> ) } }
相关文章
- [Android Pro] 终极组件化框架项目方案详解
- DocX组件读取与写入Word
- 使用FontDialog组件设置字体
- 5、四大组件之一-Activity与Intent
- Flutter笔记 - 布局类组件
- Flutter笔记-基础组件
- 【HIBERNATE框架开发之六】HIBERNATE中ANNOTATION的关系映射&&组件映射!
- Flutter笔记-基础组件
- u-view框架使用u-dropdown下拉框菜单组件库options的value值和label值错位不匹配的bug
- 遥遥领先影像组件:dicomobjects.ocx
- 【Android笔记95】Android之下拉刷新组件SwipeRefreshLayout的使用
- 【Android笔记40】Android中ViewPager2组件和Fragment组件结合使用
- 【Android笔记39】Android中ViewPager2组件和TabLayout组件的使用
- Android 下拉刷新组件SwipeToLoadLayout源码解析
- 【Android 内存优化】自定义组件长图组件 ( 自定义组件构造方法 )
- React Native学习笔记(三)—— 样式、布局与核心组件
- Vue3学习笔记(四)——组件、插槽、生命周期、Hooks
- HarmonyOS鸿蒙学习笔记(11)Flex组件alignItems属性说明
- 【微信小程序】一文带你吃透开发中的常用组件
- 【微服务笔记13】微服务组件之Config配置中心基础环境搭建
- 【微服务笔记06】微服务组件之OpenFeign配置信息及RequestInterceptor请求拦截器
- 【微服务笔记02】微服务组件之Eureka常见的几个配置属性及其常见的几个概念
- 【微服务笔记01】微服务组件之Eureka注册中心的介绍及其基础环境的搭建
- Vuejs设计与实现7-组件实现原理
- Taro React组件开发(3) —— RuiRate 评论评分
- Tomcat Executor组件:Tomcat如何扩展Java线程池?
- LoadRunner——LR的六大组件小结(十二)
- 测试开发之Vue学习笔记-Vue组件