2017-06-08 27 views
1

したがって、リアクションアプリでマテリアルのuiライブラリを使用しようとしています。色とりどりのテキストのスタイリングは、複数行のテキストフィールドでは機能しません。この例を見てください:マテリアルUIは複数行のテキストフィールドで色付きのテキストをサポートしていません(React)

import React, { Component } from 'react'; 
import axios from 'axios'; 
import ListContact from './ListContact'; 
import Paper from 'material-ui/Paper'; 
import TextField from 'material-ui/TextField'; 
import Button from './Button'; 
import {orange500, blue500} from 'material-ui/styles/colors'; 




const styles = { 
    textInput: { 
    marginRight: '10px', 
    color: orange500, 
    // #F3C677 
    }, 
    textInputInput: { 
    color: orange500, 
    // #F3C677 
    }, 
}; 





class ContactsPage extends Component { 

    {/*.......*/} 


        <TextField 
        hintText="notes" 
        onChange={(e)=>this.setState({notes: e.target.value })} 
        style={styles.textInput} 
        inputStyle={styles.textInputInput} 
        multiLine={true} 
        rows={2} 
        /><br/> 


    {/*.......*/} 

したがって、上記ではテキストフィールドの色を適切にスタイルしません。しかし、マルチラインとローの属性を取り除くと、正しく動作します(マテリアルUIライブラリによって提供される16進色または色のいずれかで)。これは私が目指していたスタイルを壊すので、私にとっては非常にイライラです。誰かがこれについての修正を知っているなら、私は本当にそれを感謝するでしょう。私はしかし、ないかもしれないと思う。 http://www.material-ui.com/#/components/text-fieldに行くと、ほとんどすべての他の例がありますが、背景テキストの色を指定した複数行の例はほとんど含まれていません。うーん..... DOCを1として

答えて

2

:TextFieldにのinput要素のインラインスタイル

inputStyle: 

オーバーライド。

multiLineがfalseの場合:は入力要素のスタイルを定義します。

multiLineがtrueの場合:は、テキストエリアのコンテナのスタイルを定義します。

textareaStyle: 

オーバーライドのTextFieldのtextarea要素のインラインスタイル。 TextFieldはテキストエリアまたは入力のいずれかを使用します。このプロパティの値は で、multiLineがtrueの場合にのみ適用されます。

ですから、複数行はこのように、真であるときにテキストのスタイリングのためtextareaStyleを使用する必要があります。

<TextField 
    rows={2} 
    hintText="notes" 
    multiLine={true} 
    style={styles.textInput} 
    textareaStyle={styles.textInputInput} 
    onChange={(e)=>this.setState({notes: e.target.value })} 
/> 
+0

申し訳ありませんが、戻ってチェックするのを忘れました。これは間違いなく問題を解決しました。私は、これは例のオンラインで(私にとってとにかく)明らかにされなかったので、少しのトラブルがあった。私はドキュメントでそれを見逃しているに違いない。どうもありがとうございました! –

関連する問題