javascript - ReactJS:更改特定元素 ID 的输入字段边框颜色

标签 javascript reactjs

我很难根据选定元素的 ID 更改输入字段边框颜色。

我尝试过普通的 JavaScript

       fetch("/login?"+query, {
            method: "GET",
            headers: {
                "Access-Control-Allow-Origin": "*"
            },
            credentials: "include"
        }).then(response => {
            status = response.status;
            return response.json()
        }).then(data => {
            if (status==200) {
                //log in
            }
            else {
                if (status==404) {
                  document.getElementById('user').style.border('1px solid red');
                  document.getElementById('password').style.border('1px solid red');
                }
            }
        }).catch(err => {
            setErrors({
                systemErr: err
            });
        })

但是由于无法呈现修改后的子元素的错误而失败。

我还为必填字段指示设置了样式

style={getStyles(touched, props.errors, '密码')}

然后

function getStyles (touched, error, fieldName) {
    if (errors[fieldName] && touched[fieldName]) {
        return {
            border: '1px solid red'
        }
    }
};

这工作得很好,但是当 API 也不会返回任何内容时,我需要得到一个边框。旁注 - 我使用 Formik 和 Yup 来验证必填字段。

对此有什么建议吗?

最佳答案

您只需向组件添加状态并将它们传递给组件样式即可。

关于javascript - ReactJS:更改特定元素 ID 的输入字段边框颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58037068/

相关文章:

javascript - 如何在reactjs中更改移动设备上的完整布局

javascript - react .createElement : type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object

javascript - 无法读取删除按钮中 null 的属性 'addEventListener'

javascript - multer 文件上传不适用于 Node 窗口

javascript - 尝试加载 Chrome 配置文件时出现 Puppeteer "Unable to move ShaderCache"

javascript - 来自 "pages/[...slug].js"的 Next.js 路由不起作用

javascript - 组件不在 .map forEach 中呈现

javascript - Nightmarejs .click() 在每个元素上有延迟

javascript - 如何通过在 CasperJs 中填写表单来登录

javascript - React Native - 检查 `TabBarIcon`的渲染方法