我尝试了一些不同的实现(你可以看到它们被注释掉了)。
一旦我启动项目,屏幕就会显示一个输入文本框,其中写有'tag1 tag2' - 因为这就是我将它们初始化为的内容;但是当我试图操纵它们时,我无法做任何事情(删除/空格键/添加另一个字母)它们被替换为
[object Object]
在文本字段中然后我不能做任何事情,除了用arrowkeys返回它;但如果我尝试其他任何东西,它会把光标推回到前面。
我尝试了一些变体,如:
TagsCom.React.createElement(“text”,null,...)或者只是
TagsCom.createElement(“text”,null,...)
甚至只是用TagsInput替换TagsCom,但到目前为止唯一远程工作的代码行是:
<TagsInput value={this.state.tags} onChange={this.handleChange} />
虽然这解决了对象问题,但它仍然是静态文本而不像标记
这是我更新的组件代码:
var React = require('react');
var ReactDOM = require('react-dom');
var TagsInput1 = require('react-tagsinput');
var TagsCom = require('./react-tagsinput.js');
//var TagsCSS = require('react-tagsinput/react-tagsinput.css');
var TagsComponent = React.createClass
({
displayName : "TagsComponent",
getInitialState: function()
{
return {
tags: ["tag1", "tag2"]
};
},
saveTags: function (){
console.log("tags: ", this.state.tags.join(", "));
},
handleChange: function(event){
this.setState({tags: event.target.value});
},
render: function ()
{
<TagsInput value={this.state.tags} onChange={this.handleChange} />
}
});
module.exports = TagsComponent;
这里是react-tagsinput模块的git链接,它包含所有其他文件https://github.com/olahol/react-tagsinput
答案 0 :(得分:0)
input
代码的onChange
回调只有一个参数 event
,而不是value
,正如您所期待的那样。
看起来应该是这样的;
handleChange: function(event){
this.setState({tags: event.target.value});
},
答案 1 :(得分:0)
经过多次反复试验,我发现了正确的渲染功能 - 它将TagsInput重命名为ReactTagsInput,并将onChange参数保留为&#39; value&#39;:
tf.TensorArray(dtype=tf.float32,size=2)