React Hooks开发:点击编辑按钮时指定输入框始终禁用问题求助
问题根因
- 目标输入框绑定了
disabled={!disabled}动态属性,点击编辑按钮时disabled状态反转,导致编辑模式下输入框自动解除禁用 - 现有配置的
readOnly: true优先级低于disabled属性,状态切换后只读配置无法生效
修复方案
根据实际交互需求选择对应修改方式:
方案1:全程禁用(输入框全程置灰,不可交互)
直接将目标输入框的disabled属性固定为true,移除和全局编辑状态的绑定:
<TextField className={classes.textField} fullWidth id="Id" InputProps={{ readOnly: true, }} disabled={true} label={t('members.id')} margin="dense" name="Id" placeholder={t('members.id')} value={member.id} variant="outlined" />
方案2:全程只读(输入框样式正常,仅无法修改内容)
如果不需要置灰效果,直接删除disabled属性即可,现有readOnly: true配置已经可以实现禁止编辑的效果:
<TextField className={classes.textField} fullWidth id="Id" InputProps={{ readOnly: true, }} label={t('members.id')} margin="dense" name="Id" placeholder={t('members.id')} value={member.id} variant="outlined" />
内容的提问来源于stack exchange,提问作者Alessandro
相关产品推荐
相关产品推荐

