Ant-design: select ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ props๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ Option์„ ์ˆœํšŒํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 10์›” 12์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ant-design/ant-design

๊ฐœ๋ฏธ ๋ฒ„์ „: 2.0.0
์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „: OS X 10.11.6
๋ธŒ๋ผ์šฐ์ € ๋ฐ ํ•ด๋‹น ๋ฒ„์ „: chrome 53.0.2785.116

๊ธฐ๋ณธ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<FormItem
  label="้€‰ๆ‹ฉไธšๅŠก"
  labelCol={{ span: 6 }}
  wrapperCol={{ span: 14 }}
>
  {getFieldDecorator('bid', { initialValue: "1" })(
    <Select 
      size="large" 
      style={{ width: 150 }}
      onChange={this.handleSelectChange.bind(this)}
    >
      {
        this.props.options.map((item, index) => {
          <Option key={index} value={item.id}>{item.name}</Option>
        })
      }
    </Select>
  )}
</FormItem>

Option this.props.options.map ํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค.

Select.js:400 Uncaught TypeError: Cannot read property 'type' of null

Select.js ์˜ 400ํ–‰์— ์˜ค๋ฅ˜๊ฐ€ ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค.

_react2["default"].Children.forEach(children, function (child) {
  if (child.type === _OptGroup2["default"]) {
    var maybe = _this2.getLabelBySingleValue(child.props.children, value);
    if (maybe !== null) {
      label = maybe;
    }
  } else if ((0, _util.getValuePropValue)(child) === value) {
    label = _this2.getLabelFromOption(child);
  }
});

Option ๋กœ ์ง์ ‘ ์ž‘์„ฑํ•˜๋ฉด ๋ฌธ์ œ ์—†์Šต๋‹ˆ๋‹ค.

<FormItem
  label="้€‰ๆ‹ฉไธšๅŠก"
  labelCol={{ span: 6 }}
  wrapperCol={{ span: 14 }}
>
  {getFieldDecorator('bid', { initialValue: "1" })(
    <Select 
      size="large" 
      style={{ width: 150 }}
      onChange={this.handleSelectChange.bind(this)}
    >
      <Option value="1">option1</Option>
      <Option value="2">option2</Option>
    </Select>
  )}
</FormItem>

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

this.props.options.map((item, index) => {
    return <Option key={index} value={item.id}>{item.name}</Option>
})

๋˜๋Š”

this.props.options.map((item, index) => <Option key={index} value={item.id}>{item.name}</Option>)

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions

๋ชจ๋“  3 ๋Œ“๊ธ€

this.props.options.map((item, index) => {
    return <Option key={index} value={item.id}>{item.name}</Option>
})

๋˜๋Š”

this.props.options.map((item, index) => <Option key={index} value={item.id}>{item.name}</Option>)

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions

@RaoHai
์†Œ๊ฐ€

์ด ์Šค๋ ˆ๋“œ๋Š” ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์ž ๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด๊ณ  ์ด ์Šค๋ ˆ๋“œ์˜ ๊ด€๋ จ ์˜๊ฒฌ์— ๋งํฌํ•˜์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰