antd中实现隐藏某一列数据

在工作中我们可能会有这样需求,比如在课程管理中可能会存在相同名字的老师名字,这个时候如果再靠以前的查询数据后遍历数组是不可取的。这个时候我便可以利用教师编号唯一性的特点。
antd中每一列数据都有唯一性,那么我就需要根据自己的需求来改善代码。

1,先配置教师编号列,通过className设置样式将其隐藏

js代码:

       this.columns = [       
          
            {
                //任课教师id隐藏:通过classname
                title: '任课id',
                dataIndex: 'tNumber',
                width: '10%',
                className:"notshow",
                editable: true,
                align: 'center',               
            },
            {
            //显示时显示任课教师名字和编号(通过render方法中的record参数)
                title: '任课教师',
                dataIndex: 'tName',
                width: '10%',
                editable: true,
                align: 'center',
                render: (text,record) => {
                  console.log(record)
                return(<span>{text}({record.tNumber})</span>)
                }
            },       
            {
            //修改时将教师编号传过去
                title: '修改',
                align: 'center',
                dataIndex: 'operation',
                render: (text, record) => {
                    return (<Button type="primary" onClick={() => this.showModalUpdate(record.courseNum, record.tNumber)}>编辑</Button>)
                },
            },        
        ];

css代码:

.notshow{
    display: none;
}

结果图片如下:
在这里插入图片描述

2,编辑时将教师名字和编号一起展示便于用户更加直观区分相同名字的教师

编辑图片主要的代码如下:

 //教师信息
        async componentDidMount() {
            var courserIds = [];
            let res = await courseAddEcho({});
            if (res.code === 200) {
                res.data.map((item) => {
                    courserIds.push(item)
                })
                GradeInfo = courserIds.map(element =>
                    <Option value={element.tnumber} key={element.tnumber}> {element.tname}({element.tnumber})</Option>);
                //   success();
                console.log("courserIds",courserIds)
            }
        }
             render() {
            const { visible, onCancel, onCreate, form, info } = this.props;
            const { getFieldDecorator } = form;
            let token = sessionStorage.getItem("token");
            token = token.slice(1, -1);
            const props = {
                headers: {
                    token: token,
                },
            }
                  return (
                <Modal
                    visible={visible}
                    title="修改课程信息"
                    okText="提交"
                    cancelText="取消"
                    onCancel={onCancel}
                    onOk={onCreate}
                    destroyOnClose={true}
                ><Form>
                        //...其他信息
                        <Form.Item label="任课教师">
                            {getFieldDecorator('tnumber', {
                                rules: [{
                                    required: true, message: '请选择任课教师!',
                                    // pattern: new RegExp(/^[0-9]\d*$/, "g"),
                                }],
                                initialValue: info.tnumber
                            })(<Select>{GradeInfo}</Select>)}
                        </Form.Item>
                    </Form>
                </Modal >
            );
        }

显示结果如下所示:
在这里插入图片描述

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值