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