我正在应用程序中使用React Datepicker。默认情况下,我希望使用“内联”功能,以便在加载页面时始终显示日历。我是这样做到的:
<DatePicker
inline
selected={ startDate }
onChange={ onChange }
/>
我传递starDate
和onChange
属性从我的App.js
文件。
一切都很顺利。
接下来,我想让我的第二页使用相同的组件——因为这似乎是一件合乎逻辑的事情。但是,我希望日历仅在单击输入时触发。我将选择的日期传递到下一页,因此文本字段填充为mm/dd/yyyy
。
我想给用户选择不同日期的选项,所以如果他们点击输入,日历就会呈现。在这种情况下,我不希望组件上的内联
属性。
我尝试过这样的事情,但运气不好:
<DatePicker
inline={ inline }
selected={ startDate }
onChange={ onChange }
/>
传递内联
作为true
或false
。但这似乎行不通。或者,在这里只使用两个不同的组件是否更有意义?显然,我对反应开发非常陌生,所以当创建两个组件时,也许我只是试图用同样的事情做太多。
感谢您的任何建议!
编辑
谢谢你的建议!我发现这是有效的:
一个pp.js
this.state = {
inline: 'inline',
startDate: new Date(),
...
}
<ReservationCalendar
inline={ this.state.inline }
startDate={ this.state.startDate }
onChange={ this.handleChange }
/>
预订日历。js
const ReservationCalendar = ({inline, startDate, onChange}) => (
<div>
<Calendar
inline={ inline }
startDate={ startDate }
onChange={ onChange }/>
</div>
);
日历js
const Calendar = ({inline, startDate, onChange}) => (
<div>
<DatePicker
inline={ inline }
selected={ startDate }
onChange={ onChange }
/>
</div>
);
在"第2页"我想有这样的东西:
const Calendar = ({inline, startDate, onChange}) => (
<div>
<DatePicker
inline={ false }
selected={ startDate }
onChange={ onChange }
/>
</div>
);
显然,这不是正确的语法,但我想将inline
设置为false/删除该属性。我不确定在哪里/如何设置-在较低的组件级别。
你肯定不想仅仅因为有一个额外的道具集就创建单独的组件,让道具可配置并分解成组件,例如。
const props = {
inline: // true / false, some conditional check,
selected: startDate,
onChange
};
...
<DateTimePicker {...props} />;
如果true
而不是iffalse
,则应该呈现inline
属性。
问题内容: 我正在使用“可拖动”指令来支持图像拖动。但是,根据用户的角色,我需要为某些用户组禁用图像拖动。我使用了以下代码。 该方法在模板范围内,并返回或。我不想为所返回的每个值创建两个大的重复元素。换句话说,我不是在寻找以下方法来解决此问题。 还有其他方法可以避免代码重复吗? 问题答案: Angular包含对有条件声明HTML属性的支持,作为动态标题指令。 的官方文件 例 在您的情况下,代码可能
我想有条件地显示和隐藏这个按钮组,这取决于从父组件传递的内容,看起来像这样: .... .... 然而,{this.props.showBulkActions'show':'hidden'并没有发生任何事情。我做错什么了吗?
我到处找,找不到我问题的答案。所以我想要一个只在特定条件下显示的条件属性,例如: 如您所见,我只想在等于默认值时指示按钮处于活动状态。然而,我得到了意想不到的令牌,错误... 但当我尝试将属性放在前面时,例如: 它传递语法错误并显示良好,但这不是我想要实现的。 我怎样才能解决这个问题?它没有通过的原因是什么? 因此,我刚刚发现在中,属性是的缩写,因此我使用 所以如果有人遇到这个问题,我就把它留在这
更准确地说,我甚至想要更详细的东西:目标应该是一个包含三个属性的类,其中产生的目标值必须被拆分为三个属性。例如,如果mysource.propa的值为“abc”,那么目标myTarget应该得到一个类似于“v01.123.456.ab”的值。该值依次分为preValue、middleValue和endvalue: preValue=“V01” middleValue=“123.456”
问题内容: 如果满足特定条件,是否有办法仅向React组件添加属性? 我应该在渲染后基于Ajax调用将required和readOnly属性添加到表单元素中,但是由于readOnly =“ false”与完全省略该属性不同,因此我看不到如何解决此问题。 下面的示例应解释我想要的内容,但将无法正常工作(解析错误:意外的标识符)。 问题答案: 显然,对于某些属性,如果您传递给它的值不真实,React足
问题内容: 变量strCSSClass通常具有一个值,但有时为空。 我不想在此输入元素的HTML中包含空的class =“”,这意味着如果strCSSClass为空,我根本就不需要class =属性。 以下是执行条件HTML属性的一种方法: 有没有更优雅的方式做到这一点?具体来说,我可以遵循与元素其他部分中使用的相同的语法:class =“ @ strCSSClass”? 问题答案: 您没有从Ra