【问题标题】:Prevent input-group-append from pushing neighboring input-group on right防止 input-group-append 将相邻的 input-group 推到右侧
【发布时间】:2021-12-31 23:37:12
【问题描述】:

所以我有这个input-group 和一个input-group-append 按钮,可以在某些条件下呈现。但是,当我有两个相邻的 input 字段并为第一个渲染 input-group-append 时,此 button 将相邻的右侧 input 字段推到右侧,从而减小其宽度。这是我用于此示例的沙箱:code sample。如您所见,当我在Recipient's username 中输入内容时,它会呈现按钮并将Recipient's password 推到右侧。我想防止这种情况并在不对 input 字段本身进行任何修改的情况下呈现按钮。 Example without the code.

【问题讨论】:

    标签: css reactjs bootstrap-4 react-bootstrap


    【解决方案1】:

    您可以使用 Bootstrap's grid system 并将您的 2 个输入包装在 col 中的 row 中。您不需要自己更改输入字段,但需要为input-group div 添加一个额外的CSS 类,并添加一个带有row 类的包装器div。 HTML 将变为:

    <div className="App">
      <div className="row">
        <div className="input-group col-6">
          <input ... />
          {showAppend === true && (
            <div className="input-group-append">
              <span className="input-group-text" id="basic-addon2">
                @example.com
              </span>
            </div>
          )}
        </div>
        
        <div className="input-group col-6">
          <input... />
          {showAppendPassword === true && (
            <div className="input-group-append">
              <span className="input-group-text" id="basic-addon2">
                @example.com
              </span>
            </div>
          )}
        </div>
      </div>
    </div>
    

    这使用网格系统并排呈现用户名和密码输入。我通过添加col-6(意味着它们都占总宽度的50%)来固定两个div 的宽度与input-group 类。这意味着,当 input-group-append 被渲染时,它将减小它所附加的输入的大小,而不是干扰其他输入:

    没有input-group-append

    使用input-group-append

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 2016-03-18
      • 1970-01-01
      • 1970-01-01
      • 2017-11-09
      相关资源
      最近更新 更多