2017-08-26 3 views
0

私はreactjsと材料UIを使用していますが、SelectFieldなど、いくつかのコンポーネントで選択した項目の背景色を変更できません。ReactjとMaterial UIのホバー機能

<SelectField 
    floatingLabelText="Choose a sport" 
    value={this.state.value} 
    onChange={this.handleChange.bind(this)} 
    menuStyle={{color:'red'}} 
    menuItemStyle={{color:'black', borderBottom:'1px solid white'}} 
    listStyle={{backgroundColor:'rgb(0, 188, 212)'}} 
    labelStyle={{color:'black'}} 

ただし、ホバー機能を追加する方法や選択した項目の色を変更する方法はわかりません。

これに関する経験はありますか?

ありがとうございます!

答えて

0

あなたのコンポーネントでホバリングをしたい場合は、CSSスタイルを使用することができます。

<div> 
     <style> 
      {` 
       .menuItem:hover { 
       background-color: red !important; 
       } 

       .menuItem { 
       background-color: transparent !important; 
       }  
      `} 
     </style> 
     <MuiThemeProvider> 
      <SelectField 
      id="field" 
      floatingLabelText="Choose a sport" 
      menuStyle={{ color: 'red' }} 
      menuItemStyle={{ color: 'black', borderBottom: '1px solid white' }} 
      listStyle={{ backgroundColor: 'rgb(0, 188, 212)' }} 
      labelStyle={{ color: 'black' }} > 
      <MenuItem className="menuItem" value={1} primaryText="Never" /> 
      <MenuItem className="menuItem" value={2} primaryText="Every Night" /> 
      <MenuItem className="menuItem" value={3} primaryText="Weeknights" /> 
      <MenuItem className="menuItem" value={4} primaryText="Weekends" /> 
      <MenuItem className="menuItem" value={5} primaryText="Weekly" /> 
      </SelectField> 
     </MuiThemeProvider> 
     </div> 

https://codesandbox.io/s/w7q276lk08

+0

これは動作しません。あなたはこれを追加した場合: >黒 '}}白」}} listStyle = {{backgroundColorの: 'RGB(0、188、212)'}} labelStyle = {{色'ホバーはメニュー項目ではなく、選択項目にのみ適用されます –

+0

@LucasMilotich、確かに、このホバーはメニュー項目ではなく選択項目のものです。私は、メニュー項目のホバーのコードとシンボリックリンクを編集しました。 – Andrew

+0

素晴らしい!出来た。ありがとう!! –

0

selectedMenuItemStyleプロパティがあります。以下のようなスタイルを適用できます。

<SelectField 
    floatingLabelText="Choose a sport" 
    value={this.state.value} 
    onChange={this.handleChange.bind(this)} 
    menuStyle={{color:'red'}} 
    menuItemStyle={{color:'black', borderBottom:'1px solid white'}} 
    listStyle={{backgroundColor:'rgb(0, 188, 212)'}} 
    labelStyle={{color:'black'}} 
    selectedMenuItemStyle={{color:'red'}} 

> 
+0

選択オプションを使用してこれだけ作品、私は背景色を変更したいですマウスオーバーで(例えば) –