当前位置: 首页 > 知识库问答 >
问题:

react datepicker输入宽度将不会调整为100%

娄飞鸾
2023-03-14

我试图调整反应日期选择器输入框的宽度,但令人惊讶的是,我发现几乎没有信息,无法影响其宽度。我只想使输入宽度100%包含div。

宽度应扩展到其父容器的宽度。

<div className="myContainer">
  <DatePicker
    className="myDatePicker"
    fixedHeight
    readOnly={true}
    isClearable={false}
    placeholderText="End date"
    selected={this.props.defaultValue}
    onChange={(date) => this.props.handleDateChange(date)}
  />
</div>

以下操作将导致myDatePicker与父myContainer的宽度相同,但宽度保持不变。

.myContainer {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  flex: 1 1 0px;
}

.myDatePicker {   
  width: 100%;  // note: if I change this value to a fixed value (such as 500px) then the width is effected
}

最接近的尝试是这样的,但是它也会影响弹出窗口的宽度,导致它延伸到整个屏幕的长度之外,所以这也不是一个解决方案:

.myContainer div {
  width: 100%;
}

日期选择器保持相同的长度,除非为宽度设置了特定的px值。

有人知道如何将react datepicker的输入宽度设置为100%吗?

编辑#2:这里是一个代码显示问题-https://codepen.io/anon/pen/bjxENG

共有3个答案

吕宸
2023-03-14

我也偶然发现了这个问题。为了解决这个问题,有一个属性可以直接添加到DatePicker组件中,即“wrapperClassName”,该属性允许我们直接将类应用到“react DatePicker wrapper”。

示例:

<DatePicker wrapperClassName="datepicker" />

然后呢

.datepicker {
    width: 100%;
}

或者,如果您使用的是tailwindcss,只需直接应用

<DatePicker wrapperClassName="w-full" />

注意:这只会使包装为全宽度,因此如果希望输入字段也占据全宽度,还需要在datepicker组件上应用“宽度:100%”。

杜茂
2023-03-14

简单的解决方案:将其添加到css文件中。

.react-datepicker__input-container {
  width: inherit;
}

.react-datepicker-wrapper {
  width: 100%;
}
邢焱
2023-03-14

我也遇到了同样的问题,多亏了Rbar的回答才得以解决。

用自定义容器包装DatePicker组件。然后将宽度指定给该容器及其子容器,如下所示:

import "./customDatePickerWidth.css";

<div className="customDatePickerWidth">
   <DatePicker dateFormat="dd/MM/yyyy" />
</div>

在customDatePickerWidth中。css:

.customDatePickerWidth, 
.customDatePickerWidth > div.react-datepicker-wrapper, 
.customDatePickerWidth > div > div.react-datepicker__input-container
.customDatePickerWidth > div > div.react-datepicker__input-container input {
   width: 100%;
}
 类似资料:
  • 问题内容: 这是我的代码,无法正常工作。HTML,JavaScript,PHP或CSS是否有其他方法来设置最小宽度? 我希望文本输入字段的宽度可以动态变化,以便输入字段可以围绕其内容流动。每个输入都有的内置填充,这是问题,第二个问题是根本无法处理输入。 如果我设置的宽度超出了整个程序的混乱,那么我需要的宽度是1px,仅在需要时才需要。 问题答案: 听起来您的期望是,根据文本框的内容将样式动态地应用

  • 我已经开始为绘制温度数据编程这个应用程序,当屏幕调整大小时,画布也应该调整大小。它初始化正确,但当我想调整窗口大小时,draw()方法只会根据它绑定的stackpanes高度值调整高度大小,但它将完全忽略宽度。听者甚至不会开火。这我觉得很奇怪。此外,我必须为StackPane设置最小大小,否则将不会绘制任何东西。我没有使用FXML。 编辑我将第58行从setRight()更改为setCenter,

  • 使用以下代码,图像可以适应父对象的宽度: 但不管我是否设置父容器的高度: 为什么会发生这种情况,我如何使图像适应父母的身高?

  • 问题内容: 要么 哪个是最佳的跨浏览器代码? 当然,这取决于要求,但是我很好奇知道人们是如何决定的以及基于什么基础。 问题答案: 您可以同时使用。css样式将覆盖支持CSS的浏览器中的属性,并使该字段具有正确的宽度,而对于不支持该样式的字段,它将退回到指定的字符数。 编辑: 我应该提到属性不是精确的大小调整方法:根据HTML规范,它_应该_引用输入将能够立即显示的当前字体的字符数。 但是,除非指定

  • 问题内容: 再次更新: 我通过选择最上面的答案来结束这个问题,以防止人们在没有真正理解问题的情况下添加答案。实际上,如果不使用网格或添加额外的CSS,就无法通过内置功能来实现。例如,如果您要处理的元素需要超出简短的输入,但它们是“内置”的,则网格将无法很好地工作。如果这是一个问题,我建议使用额外的CSS类,你可以在BS3讨论找到这里。现在BS4已经发布,可以使用包含的大小调整样式来进行管理,因此不

  • 我正在我的表单上使用引导工具提示版本3和JQuery,它有不同宽度的文本框。我想知道是否有办法根据工具提示所在的元素调整工具提示的宽度。i、 我希望工具提示内容显示在一行中,直到达到元素的宽度。一旦工具提示宽度超过它所在的元素,它将自动在下一行显示内容。这是否可以使用引导工具提示? HTML: CSS: