Microsoft.Azure.Webjobs.Script.ExtensionsMetadataGenerator
我有一个简单的对话框,该对话框用于恢复密码。我不是FE开发人员,也找不到如何将在Email字段中键入的值传递给handleSendEmail函数。 Github和npm页面没有任何示例。 Github页面:https://github.com/mmazzarolo/react-native-dialog
PS:这可能是一个非常有反应的本机基本功能,但我找不到找到方法...
答案 0 :(得分:2)
假设对话框输入/按钮扩展了React Native自身的-那么您可以调用:
onSubmitEditing and onChangeText
从文档中
onSubmitEditing
当文本输入的“提交”按钮为 按下。如果指定了multiline = {true},则无效。
TYPE REQUIRED
function No
和
onChangeText
在文本输入的文本更改时调用的回调。已变更 文本作为参数传递给回调处理程序。
TYPE REQUIRED
function No
它的含义如下:
<Dialog.Input label="Email"
onChangeText={email => this.setState({email})}
value={this.state.email}
onSubmitEditing={
(event) => this.doSomethingWithSubmit(event)
}
>
</Dialog.Input>
更新
所以我已经对此进行了测试,它的工作原理如下-旁注-我正在使用Typescript,所以只需删除类型(: string
),等等:
渲染中
return (
<View>
<View>
<Button onPress={this.showDialog}>
<Text>Show Dialog</Text>
</Button>
<Dialog.Container visible={true}>
<Dialog.Title>Password Recovery</Dialog.Title>
<Dialog.Input label="Email" onChangeText={(email : string) => this.handleEmail(email)}
></Dialog.Input>
<Dialog.Button label="OK" onPress={this.handleSendEmail} />
</Dialog.Container>
</View>
</View>
)
处理电子邮件:
private handleEmail = (email : string) => {
console.log("email");
console.log(email);
}
结果:
进一步
作为该项目的补充说明,当我使用Live reload时,我注意到Dialog从不被重新渲染,而是在旧Dialog的顶部进行渲染。我会考虑这一点。也许是我的环境,但是其他所有东西都工作正常。