Nic*_*ock 47 javascript forms jquery reactjs
当我加载我的反应应用程序时,我在控制台中收到此错误.
警告:表单propType失败:您为
value没有onChange处理程序的表单字段提供了prop .这将呈现一个只读字段.如果该字段应该是可变的使用defaultValue.否则,设置onChange或readOnly.检查渲染方法AppFrame.
我的AppFrame组件如下:
class AppFrame extends Component {
render() {
return (
<div>
<header className="navbar navbar-fixed-top navbar-shadow">
<div className="navbar-branding">
<a className="navbar-brand" href="dashboard">
<b>Shire</b>Soldiers
</a>
</div>
<form className="navbar-form navbar-left navbar-search alt" role="search">
<div className="form-group">
<input type="text" className="form-control" placeholder="Search..."
value="Search..."/>
</div>
</form>
<ul className="nav navbar-nav navbar-right">
<li className="dropdown menu-merge">
<span className="caret caret-tp hidden-xs"></span>
</li>
</ul>
</header>
<aside id="sidebar_left" className="nano nano-light affix">
<div className="sidebar-left-content nano-content">
<ul className="nav sidebar-menu">
<li className="sidebar-label pt20">Menu</li>
<li className="sidebar-label">
<IndexLink to="/" activeClassName="active">Dashboard</IndexLink>
</li>
<li className="sidebar-label">
<Link to="/fixtures" activeClassName="active">Fixtures</Link>
</li>
<li className="sidebar-label">
<Link to="/players" activeClassName="active">Players</Link>
</li>
</ul>
</div>
</aside>
<section id="content_wrapper">
<section id="content" className="table-layout animated fadeIn">
{this.props.children}
</section>
</section>
</div>
)
}
}
export default AppFrame;
Run Code Online (Sandbox Code Playgroud)
我正在努力弄清楚我在这里做错了什么.应用程序启动并运行,但我试图删除所有控制台警告/错误.
小智 78
你已经在你的搜索输入中直接输入了一个值,我没有看到它的好处,因为你已经有了一个placholder.您可以从以下位置删除值:
<input type="text" className="form-control" placeholder="Search..." value="Search..."/>
Run Code Online (Sandbox Code Playgroud)
对此:
<input type="text" className="form-control" placeholder="Search..." />
Run Code Online (Sandbox Code Playgroud)
或者,如果您认为必须拥有它,请将其设置为defaultValue:
<input type="text" className="form-control" placeholder="Search..." defaultValue="Search..."/>
Run Code Online (Sandbox Code Playgroud)
文档:https://facebook.github.io/react/docs/uncontrolled-components.html#default-values
rez*_*e08 11
如果您不通过此输入字段获取用户的输入值,则需要通过设置defaultValue使该字段为只读。
如果您想设置该值并涉及用户交互。您应该发送onChange事件以更新初始值的状态。这就像双向装订作为角度支撑。
state = {
keyword: 'test'
}
inputChangedHandler = (event) => {
const updatedKeyword = event.target.value;
// May be call for search result
}
render() {
return (
<input
type="text"
placeholder="Search..."
value={this.state.keyword}
onChange={(event)=>this.inputChangedHandler(event)} />
);
}
Run Code Online (Sandbox Code Playgroud)
const [email, SetEmail] = useState("");
Run Code Online (Sandbox Code Playgroud)
<Form.Control
onChange={e => SetEmail(e.target.value)}
type="email"
name="email"
value={email || ""}
/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51262 次 |
| 最近记录: |