我在绑定输入的值时遇到了一些问题,我已经在我的应用程序的另一个组件上完成了它并且工作正常,但不知怎的,我无法让它在另一个组件上工作.我只收到第一个字母而不是全文
这是我的组成部分
class Post extends Component {
constructor(props) {
super(props);
this.state = {
post: this.props.data,
comment: ''
}
Post.context = this;
}
render() {
<input type="text" value={this.state.comment} onChange={this.handleChange} placeholder="Write a comment..." />
<button className="button comments" onClick={this.handleClick.bind(null,this.state.post.id)}></button>
}
handleChange(e) {
Post.context.setState({comment: e.target.value});
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试使用React网站上的一个例子,但结果相同:
render() {
var valueLink = {
value: this.state.comment,
requestChange: this.handleChange
};
render() {
<input type="text" valueLink={valueLink} placeholder="Write a comment..." />
<button className="button comments" onClick={this.handleClick.bind(null,this.state.post.id)}></button>
}
handleChange(newValue) {
Post.context.setState({comment: newValue});
}
}
Run Code Online (Sandbox Code Playgroud)
有人有想法,为什么会这样?
我正在玩一些反应本地的人,我陷入了一个我无法自己解决的阶段.我有一个项目列表,我想自动滚动到某个项目.
我知道我可以使用ScrollView和contentOffset = {{x:0,y:0}}并设置和偏移,但是它会有点复杂,因为我需要跟踪每个项目的位置,我我想知道是否有一个简单的方法,所以我可以专注于ListView中的特定行.
lib上有这样的东西吗?
我在我的应用程序上收到了一个警告我的警告.反应一直说我需要为每一行添加密钥,但无论我不能添加这些密钥.
我的代码看起来像这样:
<ListView
style={styles.listView}
dataSource={this.state.favs}
renderSeparator={() => <View style={styles.listSeparator}/>}
renderRow={(rowData,i) => <Card data={rowData}
onPress={this.onCardPress.bind(this,rowData)} /> }
/>
Run Code Online (Sandbox Code Playgroud)
我尝试在我的组件上添加这样的键<Card key={rowData.id}/>/
,我也尝试从组件中的props中获取键,并将其添加到组件的第一个元素中,我的案例是TouchbleOpacity
<TouchableWithoutFeedback
key={this.props.key}
style={styles.cardBtn}>
Run Code Online (Sandbox Code Playgroud)
有人可以给我一个提示吗?或者我应该忽略这个警告?
我从这两种方法中得到意想不到的结果.
我让我的美元状态变得混乱
$stateProvider
.state('status', {
url: "/status/:payment",
controller: 'QuestCtrl',
templateUrl: "index.html"
});
Run Code Online (Sandbox Code Playgroud)
在控制器上我有:
angular.module('quest').controller('QuestCtrl',function($scope,$stateParams,$state){
console.log($stateParams.payment); // undefined
console.log($state); // Object {params: Object, current: Object, $current: extend, transition: null}
}
Run Code Online (Sandbox Code Playgroud)
我已经在其他项目中使用了$ stateParams并且它工作但现在我无法弄清楚这里发生了什么..
我想在 inputfield 上处理 keyPressDown (enter),这个函数有点工作,但我不能再输入任何东西了。
handleSubmit: function (e) {
e.preventDefault();
if (e.keyCode === 13) { console.log('hit enter'); }
else { return false; }
},
render: function(){
return (
<div className="addTask">
<form className="questionsTask" autoComplete="off">
<ol className="questions">
<li>
<input id="taskName" name="taskName" type="text" placeholder="What's your next task?" onChange={this.handleTask.name} onKeyDown={this.handleSubmit}/>
</li> ....
Run Code Online (Sandbox Code Playgroud) javascript ×3
reactjs ×3
input ×2
listview ×2
react-native ×2
angularjs ×1
data-binding ×1
key ×1
keypress ×1
params ×1
scrollview ×1
state ×1