Describe the bug
在以Gutenberg为核心的WordPress 5.0.2中(不是插件),当使用输入字段从用户捕获文本并提供值=来自道具时。属性,则输入字段不可编辑。输出的html代码看起来很好(不存在禁用或只读属性)。但是,在浏览器中,我无法更改/编辑输入字段中的值。(更新:它尝试将[对象对象]注入文本字段。)其他组件,如调色板和按钮,工作正常。
我能找到的唯一错误来自Firefox(仅来自Chrome的单独警告)。。
Firefox错误1:
错误:访问属性“nodeType”/wp includes/js/tinymce/wp tinymce的权限被拒绝。php?版本=4800-20180716 2号线
Firefox错误2:
TypeError:节点的参数1。contains未实现接口节点/wp包括/js/tinymce/wp tinymce。php?版本=4800-20180716 2号线
Chrome警告1:
指定的值“[对象对象]”不是有效数字。该值必须与以下正则表达式匹配:-?(\\d+.\\d+。\\d+.\\d+)([eE][-+]?\\d+?
我真的很想使用基本的输入字段/组件来接受用户的数据。非常感谢您对我的古腾堡代码的任何帮助。
To Reproduce
以下是我的问题代码:
...
registerBlockType( \'wcn/button\', {
...
attributes: {
borderWidth: {
type: \'number\',
default: 2
}
},
edit: (props) => {
const onChangeBorderWidth = newBorderWidth => {
props.setAttributes( { borderWidth: newBorderWidth })
}
return (
<div className={ props.className }>
<input
name="borderWidth"
type="text"
value={ props.attributes.borderWidth }
onChange={ onChangeBorderWidth }
/>
</div>
)
}
...
Expected behavior
我希望编辑输入字段以获取一个数值(就像几十年来一样)。但是,指定的数值是不可更改的。非常奇怪。
Desktop Development Environment:
<操作系统:Windows 10浏览器Chrome和Firefox版本71.0.3578.98和63.0.3