更新 Wordpress Gutenberg 块中对象属性的特定 属性
Update a specific property of an object attribute in a Wordpress Gutenberg block
我有一个带有属性的自定义古腾堡块:
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
时,没有任何变化。当我保存 post 时,没有为该属性保存任何内容。我知道该函数被正确调用并传递了正确的 value
和 index
(我 console.log
它们)。我一直在搜索 Gutenberg 文档,但它似乎没有提及任何相关内容。
不确定我是什么missing/doing错了。
您正在调用 onChangeURL
,但您的方法名为 onChangeValue
.
我不确定 index
的值从何而来,但尝试在您的 onChangeValue
中创建一个新对象并为您的属性设置这个新对象。
尝试将您的 onChangeValue
更改为:
onChangeValue(value, index) {
var newValuesObj = {};
newValuesObj[index] = value;
this.props.setAttributes({ valuesObj: newValuesObj });
}
我有一个带有属性的自定义古腾堡块:
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
时,没有任何变化。当我保存 post 时,没有为该属性保存任何内容。我知道该函数被正确调用并传递了正确的 value
和 index
(我 console.log
它们)。我一直在搜索 Gutenberg 文档,但它似乎没有提及任何相关内容。
不确定我是什么missing/doing错了。
您正在调用 onChangeURL
,但您的方法名为 onChangeValue
.
我不确定 index
的值从何而来,但尝试在您的 onChangeValue
中创建一个新对象并为您的属性设置这个新对象。
尝试将您的 onChangeValue
更改为:
onChangeValue(value, index) {
var newValuesObj = {};
newValuesObj[index] = value;
this.props.setAttributes({ valuesObj: newValuesObj });
}