У меня есть пользовательский блок Гутенберга с атрибутом:
valuesObj: {
type: 'object',
default: {},
}
Я хочу обновить определенное свойство в этом объекте при изменении ввода. Итак, я создал функцию, которая вызывается из onChange
для компонента:
<TextInput
value={ valuesObj[index] }
onChange={ (value) => this.onChangeValue(value, index) }
/>
Это вызываемая функция:
onChangeValue(value, index) {
var newValuesObj = this.props.attributes.valuesObj;
newValuesObj[index] = value;
this.props.setAttributes({ valuesObj: newValuesObj });
};
По какой-то причине это, похоже, не работает вообще. Когда я набираю TextInput
, ничего не меняется. Когда я сохраняю сообщение, для этого атрибута ничего не сохраняется. Я знаю, что функция вызывается правильно и передает правильные значения value
и index
(I console.log
их). Я изучал документацию Гутенберга, но, похоже, ничего об этом не упоминается.
Не уверен, что я пропускаю / делаю неправильно.