• 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>
  • 相关阅读:
    JavaScript
    LeetCode(17)Letter Combinations of a Phone Number
    LeetCode(96)Unique Binary Search Trees
    LeetCode(16)3Sum Closest
    Python更换pip源,更换conda源
    LeetCode(15)3Sum
    LeetCode(94)Binary Tree Inorder Traversal
    LeetCode(14)Longest Common Prefix
    LeetCode(29)Divide Two Integers
    LeetCode(12)Integer to Roman
  • 原文地址:https://www.cnblogs.com/steamed-twisted-roll/p/14942418.html
Copyright © 2020-2023  润新知