Ant Design
搭配React使用。
适用于chrome内核的浏览器。
Table:
Table:
- columns:表达列的配置描述.
- dataSource:数据数组.
- pagination:分页器.有数据就会自带分页,设为false时不展示和进行分页.
- loading:页面是否加载中
- onChange:分页,排序,筛选变化时触发.Function(pagination, filters, sorter)
- rowSelection:表格行是否可选,默认多选(加上每行数据前面会有一个选则框)
- rowKey; 表格行key的取值.
- title:列头显示文字.
- key:React需要的key.
- dataIndex:列数据在数据项中对应的 key.
- render方法默认参数是当前行的某一个数据,当前行数据record,当前行索引index.
- colspan:表头列合并
- onChange:选中项发生变化时的回调.Function(selectedRowKeys, selectedRows)
selectedRowKeys:选中项的key数组,可以设置rowkey=”id”来获取选中项的id值.Form:
selectedRowKeys会自动记录之前删除的key,也就是之前删除的key也会存在于数组中.
选择全选只会选中当前页面的数据.
让Form中的input框去掉历史输入记录,在上添加autoComplete='off’属性FormItem:
- label:label标签的文本
- labelCol:label标签布局
- wrapperCol:表单控件布局
- help:提示文字
- validateStatus:校验状态
- hasFeedback:配合 validateStatus 属性使用,展示校验状态图标
class List extends React.Componnet{}
PayList=Form.create({})(List);
经过Form.create包装过的组件会自带this.props.form属性,this.props.form提供如下的API:
- getFieldDecorator(id, options):数据同步被Form接管.
不再需要用 onChange 来做同步,但还是可以继续监听 onChange 等事件。
不能用控件的 value defaultValue 等属性来设置表单域的值,默认值可以用 getFieldDecorator 里的 initialValue。
不需要用 setState,可以使用 this.props.form.setFieldsValue 来动态改变表单值。
{getFieldDecorator('password', {
rules: [
{type:”number”, message: 'error!',},
{ required: true, message: 'Please input your password!', }
],
initialValue:123456
})
( )
}
- validateFields:校验并获取一组输入域的值与Error
handleSubmit (e) {
e.preventDefault();
this.props.form.validateFields((err, values) => { }
}
使用validateFields等时,应确保对应的 field 已经用 getFieldDecorator 注册过了.Pagination:
第一个方法使数据同步被Form接管,然后使用第二个方法才能获取到数据.
第一个方法的第一个参数是第二个方法中values Json对象中的属性名.
第一个方法中必须用InitialValue来设置获取值,如果在Input中用value设置获取,则第二个方法获取不到.
values是一个json对象,键值对中的值没有值的时候可能会是null,也可能会是undefined.NaN等
- onChange:页码改变的回调,参数是改变后的页码及每页条数.Function(page, pageSize).page是一个包含当前页数,每页条数,总条数的一个json对象.
key: Modal组件有标准的React生命周期,关闭后状态不会自动清空.要想每次打开都是新内容,可以:
- 自行手动清空旧的状态.在handleOk和handleCancle中this.setState值为空.
文章图片
- 每次打开都给Modal设置一个全新的key,React就会渲染出一个全新的对话框.
.多个Modal的时候,多个Modal的key也需要不同.
文章图片
Modal不能写在表格里面(columns的render里),这样相当于是渲染了无数的Modal,无论点击哪一个,都是默认获取的最后一个.
解决方法; 可以放在return里,Button不一定要与Modal紧挨,是通过this.setState控制Modal的显示与隐藏
去除白色背景,边框:DatePicker:
wrapClassName={‘content’}//对话框外层容器的类名,用来重写外边框的类
.content{
.ant-modal-content {
position: relative;
background-color: #00000000 !important;
border: 0; border-radius: 4px;
background-clip: padding-box;
box-shadow: 0 0 0 rgba(0, 0, 0, 0) !important;
}
.ant-modal-body {
padding: 0 !important;
font-size: 0 !important;
line-height: 1 !important;
}
}
value值需要是moment类型.moment()
- onChange:时间发生变化的回调.function(date, dateString)
- onChange:选中option时调用此函数.function(value)
- labelInValue:是否把每个option的label包装到其value 中.Select 的 value 类
型从 string 变为 {key: string, label: ReactNode} 的格式
文章图片
Checkbox:
- onChange:变化时回调函数,Function(checkedValue)
文章图片
文章图片
cascader:
获取到的是一个数组.
文章图片
Switch:
- checked:指定当前是否选中.值为Boolean类型.
- onChange:变化时回调函数.Function(Boolean)
- status:设置为…状态点.
- text:在设置了status的前提下,设置状态点的文本.
- defaultValue:用法是设置初始默认值,因此,defaultValue将不会更新,如果需要更新可以使用 value.
- value:value是受控组件,需要配合onChange事件.
Ant Design里的一些事件,当被触发时,会自动传递一些参数.例如Select的onChange方法,会自动传入Option的value值.
- onChange={this.onChange(自己想传的参数)}:会用自己想传的参数覆盖掉默认值value,这样就不能把value传过去。
- onChange={this.onChange(value,自己想传的参数)}:会提示value值没有定义。
- onChange={this.onchange.bind(this,自己想传的参数)} : 会把value值传做方法的最后一个参数
- onChange={(value)=>{this.onchange(value,自己想传的参数)}}:显式地把value写出来,就可以把value和自己想传参数都传过去
【Ant Design】可以声明一个propsJSON对象,将API放入,在中继承引用.
- name:发到后台的文件参数名.
- action:必选参数,上传的地址.
- beforeUpload:上传文件之前的钩子,参数为上传的文件.
- onChange:上传文件改变时的状态.函数的参数是一个对象.
推荐阅读
- 基于|基于 antd 风格的 element-table + pagination 的二次封装
- 爱琐搭配(喜欢复古、冷淡,像这种双环设计的气质耳环)
- 春季试衣间|春季试衣间|UNIQLO优衣库 UR HOTWIND热风春夏新品搭配 日常搭配 可盐可甜
- 8种搭配,教你将铅笔裤穿的更有型!
- [译文]Domain|[译文]Domain Driven Design Reference(四)—— 柔性设计
- Vagrant|Vagrant (三) - 网络配置
- The|The ideal servant
- Java并发编程|Java并发编程 - 深入剖析ReentrantLock之非公平锁加锁流程(第1篇)
- 【天馬座|【天馬座 ? 翼ノ幻想】~《The Pegasus Fantasy》
- 【论文总结】Zero-Shot|【论文总结】Zero-Shot Semantic Segmentation