Ниже приведен мой фрагмент кода, где внутренний компонент, т.е. MultiSelectAssetDropdown
, не отображается.console.log('comes here')
не появляется, что явно означает, что цикл не выполняется.Однако предыдущий console.log
печатает нормально .. поэтому я знаю, что этот компонент отображается.Кроме того, компонент рендеринга после цикла выполняется отлично.
<ul className="collapsible multiDropdownTag">
{ console.log('field',this.state.configDefaultVal)}
{ configDefaultVal.map(function (field) {
console.log('comes here');
return (
<MultiSelectAssetDropdown placeholder="" icon=""
label={field.defaultValues.DisplayName}
value={field.selectedValues}
disabled={this.state.disabledVal}
selectedValues={field.selectedValues}
className="multiselect"
defaultValues={field.defaultValues.values}
fieldValue="field1" id="field1"/>
)}, this)
}
<MultiSelectAssetDropdown placeholder="" icon=""
label="Sites"
value={abc}
siteId={this.state.details.siteId}
disabled={this.state.disabledVal}
selectedValues={abc}
defaultValues={abc}
fieldValue="sites" id="sites"/>
</ul>
Может кто-нибудь, пожалуйста, укажите мне правильное направление здесь?Массив выглядит следующим образом: [field1: Array(0), field0: Array(0)]
Однако, когда я делаю .length
, он дает 0
const finalFieldsArray = [];
_.forEach(configVal,function(selField,key){
_.forEach(configDefaultVal,function(defField,keys){
if(key == keys){
finalFieldsArray[keys]=[];
finalFieldsArray[keys]['selectedValues'] = selField;
finalFieldsArray[keys]['defaultValues'] = defField;
}
})
})
Этот finalFieldsArray позже устанавливается в состояние как configDefaultVal.