2017-03-01 6 views
2

私はreact-reduxには新しく、私はreact-selectでドロップダウンを作成したいと思います。私はこのように私のドロップダウンコンポーネントを作成しました:React-redux形式で選択

import React, { PropTypes } from 'react'; 
import Select from 'react-select'; 
import 'react-select/dist/react-select.css'; 

const options = [ 
    { value: 'one', label: 'One' }, 
    { value: 'two', label: 'Two' } 
]; 

const MyDropdown = ({ input }) => (
    <div> 
    <Select 
     {...input} 
     value="one" 
     options={options} 
     multi={true} 
     onBlur={() => { 
     input.onBlur([...input.value]); 
     } 
    } 
    /> 
    </div> 
); 

MyDropdown.propTypes = { 
    input: PropTypes.string.isRequired 
}; 

export default MyDropdown; 

と私はここ

<Field 
      id="status" 
      name="status" 
      component={MyDropdown} 
      /> 

でレンダリングマイそれ私のエレメントタイプが無効である」という迷惑なエラーを得た:組み込みコンポーネントのために(文字列を期待しました)またはクラス/関数(複合コンポーネントの場合)があります:未定義 "。どうしたの?これはそれに渡されたオプションをチェック作業や内部のカスタムメソッドを作成していない場合は

​​

+0

「フィールド」はどこから来たのですか?それはブートストラップなのでしょうか? –

+0

フィールドはredux-formからインポートされます – user7334203

+0

私たちは正しく値= {input.value}を入力します – user7334203

答えて

0

フィールドのためのフォームで:

const options = [ 
    { value: 'one', label: 'One' }, 
    { value: 'two', label: 'Two' } 
]; 

<Field 
      id="status" 
      name="status" 
      component={MyDropdown} 
      options={options} 
      clearable={false} 
      /> 

あなたのコンポーネントは次のようになります。渡されたリストからオプションを生成し、小道具として<select/>に渡すためのMyDropdownコンポーネント。しかし、それはうまくいくはずです。

関連する問題