0
カスタムコントロールスタイルを動的に変更するカスタムコントロールスタイルを動的に変更する
リアクションを使用して空の各カスタムフィールドの周囲に赤い枠線を配置しようとしています。配列this.state.Fields
には、検査するすべてのコントロールが含まれています。 必要なすべてのコントロールをチェックし、その値が設定されていない場合は、style
プロパティを変更します。プロパティを変更することはできませんので、私はstate
を使用しようとしたが、問題は、私は、各制御のために別々のvriableを持っている必要があるだろうです:
<Control ref="controlLabel" name="controlLabel" type="1" onComponentMounted={this.register} label="Control Label:" required="1" value={this.state.controlLabel} localChange={this.handleControlLabelChange} inputStyle={{border: this.state.errControlLabelStyle}} />
それを行うために、よりエレガントな方法があるかどうか、私は不思議でしたか?ここに私のコードは次のとおりです。
this.state.Fields.forEach((field) => {
if(field.props.required === "1"){
var validField = (field.props.value != '' && field.props.value != undefined);
if(!validField){
//set the field style dynamically
}
}
validForm=validForm && validField;
});
は、私がやろうとしています何のコードをアクティブにあるボタンをクリックすることではないだろう、あなたはそもそも無効としてコントロールをレンダリングするでしょう提案方法は? – ElenaDBA
今すぐはい。それを拡張するために、データオブジェクトにプロパティisValidを追加し、ボタンをクリックして変更することができます – baalazamon
しかし、それは私が始めたのと同じことに私を導くことはありませんか?私はカスタムコントロールにプロパティを追加し、それを親から変更するために、状態を使用する必要があり、ページ上の各子コントロールに対して別々の状態を設定する必要があります。 – ElenaDBA