2016-04-05 21 views
0

material-ui bir bileşenin stilini değiştirmek için bir yol sağlar malzeme-ui stil sahne sadece bir özelliğini değiştirmektir:mümkün tarzı sahne aracılığıyla,

<Card style={ {display:this.state.show} } > 
    <CardHeader 
     title="Some Card" 
     subtitle="Old" 
    /> 

Ama bu her kaldıracak Kart için önceki varsayılan stil, olup, bu durumda 'display' özniteliğinin sadece bir özelliğini değiştirmek mümkün mü?

cevap

1

Evet. Stil prop bir nesneyi kabul edeceğinden, bir nesneyi dinamik olarak oluşturabilir ve bunu kullanabilirsiniz.

Örnek:

import objectAssign = require('object-assign'); 

render() { 
    const baseStyle = { color: 'black', fontSize: '20px' }; 
    const cardStyle = objectAssign({}, baseStyle, 
    (this.state.show ? { color: 'red' } : {}); 
    return (
    <Card style={ cardStyle }> 
     <CardHeader ... /> 
    </Card> 
); 
} 
+1

iyi bir fikir ama bir sorun, benim sorunum ben alışkanlık bu i baseStyle' 'in varsayılan bir kaydını tutmak gerektirir, varsayılan belirli bir bileşen için ne hiçbir fikrim yok olmasıdır ? ve mevcut olan varsayılanları programlamak yerine değiştirmek yerine mümkün mü? Mümkün mü? – user22866

+0

Bu durumda, objectAssign çağrısında baseStyle'ı kaldırabilirsiniz –