首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要对齐和样式MUI图标按钮&文本输入

需要对齐和样式MUI图标按钮&文本输入
EN

Stack Overflow用户
提问于 2022-07-19 19:42:53
回答 2查看 438关注 0票数 0

我设计了一个模态对话框,它在文本输入值上使用增量和递减按钮。我需要调整一下,并给它添加一些风格。从图片上看,它看起来不太好。不管怎么说,它起作用了。

我想要这样的成人票,我不需要+/-纽扣

代码

代码语言:javascript
复制
    <ul>
     <li> 
       Adult Tickets &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp;
         <TextField
            value={AdSeatCount}
            id="outlined-adornment-small-Adult"
            variant="outlined"
            size="small"
            style={{ width: 48, height: 35}}
            labelWidth={0}
            disabled="true"
            />
            <br/>
            </li>
            <li>Child Tickets
<div style={{ display: "flex", alignItems: "center" }}>                                 
              <IconButton
               onClick={this.onMinusClick}
               aria-label="minus"
               style={{ marginTop: 15 }}
              >
              <RemoveCircleIcon fontSize="inherit" />
                </IconButton>
                 <TextField
                  value={this.state.value}
                  id="outlined-adornment-small-Child"
                  variant="outlined"
                  size="small"
                   style={{ width: 48, height: 35 ,marginTop: 15}}
                   labelWidth={0}
                   disabled="true"
                   />
                   <IconButton
                    onClick={this.onPlusClick}
                     aria-label="plus"
                     style={{ marginTop: 15 }}
                     >
                     <AddCircleIcon fontSize="inherit" />
                    </IconButton>
</div>
               </li>
           </ul>


  [1]: https://i.stack.imgur.com/YQQYf.png
EN

回答 2

Stack Overflow用户

发布于 2022-07-19 19:48:25

IconButtonsTextField包装在挠曲箱 div中,如下所示。

代码语言:javascript
复制
<div style={{ display: "flex", alignItems: "center" }}>
  <IconButton
    onClick={this.onMinusClick}
    aria-label="minus"
    style={{ marginTop: 15 }}
  >
    <RemoveCircleIcon fontSize="inherit" />
  </IconButton>
  <TextField
    value={this.state.value}
    id="outlined-adornment-small-Child"
    variant="outlined"
    size="small"
    style={{ width: 48, height: 35, marginTop: 15 }}
    labelWidth={0}
    disabled="true"
  />
  <IconButton
    onClick={this.onPlusClick}
    aria-label="plus"
    style={{ marginTop: 15 }}
  >
    <AddCircleIcon fontSize="inherit" />
  </IconButton>
</div>

为了水平对齐,这里有一些伪代码来保持事物的清洁。

代码语言:javascript
复制
<div style={{ display: "grid", gridTemplateColumns: "auto 1fr", gridTemplateRows: "auto auto" }}>
  <AdultLabel style={{ gridColumn: "1 / 2", gridRow: "1 / 2" }} />
  <AdultInput style={{ gridColumn: "2 / 3", gridRow: "1 / 2" }} />
  <ChildLabel style={{ gridColumn: "1 / 2", gridRow: "2 / 3" }} />
  <ChildInput style={{ gridColumn: "2 / 3", gridRow: "2 / 3" }} />
</div>

当然,如果您使用CSS文件,您将保持一切清洁,如下所示:

代码语言:javascript
复制
.parent {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
}

.label {
  grid-column: 1 / 2;
}

.labelAdult {
  grid-row: 1 / 2;
}

.labelChild {
  grid-row: 2 / 3;
}

.label {
  align-items: center;
  justify-content: center;
  text-align: center;
}
票数 0
EN

Stack Overflow用户

发布于 2022-07-21 10:46:55

最简单的方法是使用Stack组件,它为您提供所需的所有属性,以获得所需的结果。

在这个码箱中,您的解决方案是(我不得不为值替换一些状态内容)。请注意,我还必须删除一些css您已经添加了,因为它是错误的。

下面是重构代码,请注意,您必须导入Stack组件

代码语言:javascript
复制
import Stack from "@mui/material/Stack";

<ul>
    <li>
      <Stack
      direction="row"
      justifyContent="flex-start"
      alignItems="center"
      spacing={1}
      my={2}
    >
      Adult Tickets &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
      <TextField
        value={AdSeatCount}
        id="outlined-adornment-small-Adult"
        variant="outlined"
        size="small"
        style={{ width: 48 }}
        labelWidth={0}
        disabled="true"
      />
    </Stack>
  </li>
  <li>
  <Stack
      direction="row"
      justifyContent="flex-start"
      alignItems="center"
      spacing={1}
      my={2}
    >
    Child Tickets
    
      <IconButton
        onClick={this.onMinusClick}
        aria-label="minus"
        
      >
        <RemoveCircleIcon fontSize="inherit" />
      </IconButton>
      <TextField
        value={this.state.value}
        id="outlined-adornment-small-Child"
        variant="outlined"
        size="small"
        style={{ width: 48}}
        labelWidth={0}
        disabled="true"
      />
      <IconButton
        onClick={this.onPlusClick}
        aria-label="plus"
        
      >
        <AddCircleIcon fontSize="inherit" />
      </IconButton>
    </Stack>
    
  </li>
</ul>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73042663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档