Javascript 仅禁用带有react native的嵌套活动文本框中的“发送”按钮
我正在开发一个react原生移动应用程序,它显示用户可以评论的提要。对于每个提要,都有一个文本框和一个提交,用户可以在其中发表评论,默认情况下,每个提交按钮都被禁用,直到收到一个值为止 我目前面临的问题是,当用户开始键入第一个文本框时,每行中的所有发送按钮都会激活,而且在数据发送到服务器后,文本框仍然保持活动状态 Screen.jsJavascript 仅禁用带有react native的嵌套活动文本框中的“发送”按钮,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我正在开发一个react原生移动应用程序,它显示用户可以评论的提要。对于每个提要,都有一个文本框和一个提交,用户可以在其中发表评论,默认情况下,每个提交按钮都被禁用,直到收到一个值为止 我目前面临的问题是,当用户开始键入第一个文本框时,每行中的所有发送按钮都会激活,而且在数据发送到服务器后,文本框仍然保持活动状态 Screen.js constfeedsscreen=({posts,showLoader,onCommentPost,onSetComment,isEnabled})=>( {po
constfeedsscreen=({posts,showLoader,onCommentPost,onSetComment,isEnabled})=>(
{posts.length==0&&showLoader==false(
还没有此组的帖子
):null}
{posts.map((项目,i)=>{
返回(
{item.text}
{
邮递员(项目);
}}
/>
);
})}
);
导出默认feedsScreen代码>可以同时有多篇文章,因此您应该为每篇文章保存评论
isEnabled={isEnabled}
步骤1:状态变化。将评论另存为对象,每个帖子的索引/id为键
state = {
comment: {}
};
步骤2:更改onChangeText={onSetComment}函数并传递项的索引
<TextInput
onChangeText={(comment) => onSetComment(comment,i)}
.......
/>
第4步:从主要部件上拆下isEnabled道具
isEnabled={isEnabled}
步骤5:在Screen.js中发送commentValue prop receive时,检查每个项目的启用状态
const feedsScreen = ({commentValue, posts, showLoader, onCommentPost, onSetComment, isEnabled }) => (
......
{posts.map((item, i) => {
const isEnabled = commentValue[i] && commentValue[i].length > 0;
.........
你能更详细地描述一下它的来历吗?显示日志当在文本框1中输入字母时,按钮处于活动状态,多个字符激活后续按钮