zoukankan      html  css  js  c++  java
  • ant.design select option获取额外的属性

    select默认有value,和label两个属性,有时候需要选择数据后带出其他值

    如图

    选择公司后带出公司数据

    select的onchange事件第二个回调参数可以拿到所有定义在option上的值

    代码

      // 根据选择公司进行回填
      const changeCompany = (val, option) => {
        console.log(option)
        form.setFieldsValue({
          ...option, 
          establishedTime: moment(option.establishedtime)
        })
      }
    
     return
    <Form
                form={form}
                layout="vertical"
              >
                <Row justify="space-between">
                  <Col span={7}>
                    <Form.Item 
                      label="公司名称" 
                      name="companyId"
                      rules={[{required: true, message: '请选择公司名称'}]}>
                      <Select
                        showSearch
                        style={{  200 }}
                        placeholder="请选择公司名称"
                        onChange={changeCompany}
                        filterOption={(input, option) =>
                          option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
                        }
                      >
                        {companyOptions.map(item => 
                          <Option 
                          key={item.id} 
                          value={item.id}
                          companyCode={item.companyCode} // 额外的属性
                          establishedtime={item.establishedTime}
                          desc={item.desc}
                          >{item.companyName}</Option>
                        )}
                      </Select>
                    </Form.Item>
                  </Col>
                  <Col span={7}>
                    <Form.Item 
                      label="公司编号" 
                      name="companyCode"
                      rules={[{required: true, message: '请输入公司编号'}]}>
                      <Input disabled placeholder="请输入公司编号" />
                    </Form.Item>
                  </Col>
                  <Col span={7}>
                    <Form.Item 
                      label="公司成立时间" 
                      name="establishedTime"
                      rules={[{required: true, message: '请输入公司成立时间'}]}>
                       <DatePicker style={{ '100%'}} format={dateFormat} />
                    </Form.Item>
                  </Col>
                </Row>
                <Row>
                  <Col span={24}>
                    <Form.Item
                      label="公司描述" 
                      name="desc"
                      rules={[{required: true, message: '请输入公司描述'}]}>
                      <TextArea
                        placeholder="请输入公司描述"
                        autoSize={{ minRows: 2, maxRows: 6 }}
                      />
                    </Form.Item>
                  </Col>
                </Row>
              </Form>
  • 相关阅读:
    每日站立会议02
    每日站立会议01
    构建之法阅读笔记02
    学习进度条06
    js获取当前时间戳
    带三角凸的框
    js或者jq的tab切换
    处理浏览器兼容 各个浏览器的标识 hack
    规定CSS的属性仅在IE下生效 在非IE浏览器下不生效
    滚动到某个点 返回顶部字样出来 点击返回顶部
  • 原文地址:https://www.cnblogs.com/steamed-twisted-roll/p/14942418.html
Copyright © 2011-2022 走看看