javascript - 使用 React 有条件地从元素中添加/删除属性

标签 javascript html reactjs conditional-statements

我有这个 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"
/>

有没有办法让 defaultValuevalue 属性指向函数而不是静态字符串?鉴于我的需要,我必须有条件地使用 valuedefaultValue,因为它们的行为完全不同。

最佳答案

如果您使用的是 es6,您可以使用 {...args} 运算符解析组件声明末尾的所有剩余参数。

示例:

<TextField
    id="pickupName"
    className="order-form-input"
    onBlur={this.fieldChange('name')}
    ref="pickupName"
    floatingLabelFixed={true}
    floatingLabelText="Contact Name",
    {...extra_args}
    />

希望它能起作用。

关于javascript - 使用 React 有条件地从元素中添加/删除属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41116891/

相关文章:

javascript - 在 Angular 2 中使用异步管道访问数组的第一项

html - 手机右侧空白

javascript - 尝试通过 jQuery 或 JavaScript 添加 Font Awesome 图标并使电话号码可点击

javascript - Browserify:导出模块并通过脚本标签访问

javascript - 如何使用django + react有效处理大文件上传?

javascript - 如何在重新排序 DOM 后重新绘制和重新组织 Isotope 容器中的元素?

javascript - 如何在复制的文本中(严格)保留 HTML?

javascript - 如何在点击时更改图像的 ng-src

reactjs - 我什么时候应该使用快照测试?

javascript - 如何使用 DOM 生成小计金额