【发布时间】:2017-04-28 06:22:32
【问题描述】:
我有这个 TextField 元素。我想有条件地添加value={x} 或defaultValue={x}
这会起作用(没有任何条件)
<TextField
id="pickupName"
className="order-form-input"
onBlur={this.fieldChange('name')}
ref="pickupName"
defaultValue={(order.pickup || {}).name || ''}
// hintText="Pickup Contact Name"
floatingLabelFixed={true}
floatingLabelText="Contact Name"
/>
但是,如果我尝试添加条件(当然会失败):
<TextField
id="pickupName"
className="order-form-input"
onBlur={this.fieldChange('name')}
ref="pickupName"
{true ? defaultValue={(order.pickup || {}).name || ''} :
value={(order.pickup || {}).name || ''}}
// hintText="Pickup Contact Name"
floatingLabelFixed={true}
floatingLabelText="Contact Name"
/>
有没有办法让defaultValue 或value 属性指向函数而不是静态字符串?鉴于我的需要,我必须有条件地使用 value 或 defaultValue,因为它们的行为完全不同。
【问题讨论】:
-
也许你应该使用
value。 -
是的,但如果我使用 value,那么我必须使用 onChange,这是矫枉过正的,每次击键都会更新..
标签: javascript html reactjs conditional