【发布时间】:2016-09-05 17:56:59
【问题描述】:
我正在尝试在复选框上创建一个长按处理程序。带有组件的包是https://www.npmjs.com/package/react-native-checkbox——我认为它是默认的。问题是复选框拦截了onPressIn 和onPressOut 事件,而我的TouchableWithoutFeedback 组件不发出任何东西。代码如下:
var pressStart = 0;
const pressTimeout = 400;
function pressIn() {
alert(0);
pressStart = parseInt((new Date()).getTime() / 1000);
}
function pressOut() {
var pressEnd = parseInt((new Date()).getTime() / 1000);
if (pressEnd - pressStart < pressTimeout) return;
alert(1);
}
return (
<View style={style.container}>
<TouchableWithoutFeedback onPressIn={pressIn} onPressOut={pressOut}>
<View>
{/*<Text>asdasdasd</Text>*/}
<CheckBox checked={this.state.done} labelStyle={style.checkbox} label={this.state.name} onChange={toggleChecked} />
</View>
</TouchableWithoutFeedback>
</View>
);
另外,如果我使用Text 组件而不是CheckBox — 它会触发pressIn 事件,但pressOut 不起作用(我看到alert(0),但不是alert(1))。
【问题讨论】:
标签: javascript android reactjs checkbox react-native