Как вертикально выровнять inputAdornment, чтобы он оставался вверху в многострочном текстовом поле MUI

Используя реакцию, у меня есть многострочный текст FieldText MUI с парой значков inputAdornment, выровненных по правому краю.

Когда я заполняю его, поле меняет свою высоту для каждой новой строки, а значки располагаются по центру по вертикали.

Я пытаюсь сделать так, чтобы значки оставались выровненными вверху, но не смог. Есть способ?

Извините, я не могу привести примеры, но мне запрещено встраивать изображения. Надеюсь, мой вопрос ясен, и заранее спасибо за вашу помощь.

2 ответа

Вы имеете в виду что-то вроде этого:

        <div sx={{position: 'relative'}}>
        <InputAdornment sx={{position: 'absolute', top: 0}}>
    ///icons
        </InputAdornment>
  </div>

Похоже, вы говорите об использовании библиотеки компонентов MUI, так что я это сделал. Используя свойство sx TextField, вы можете стилизовать компонент с помощьюalignItems:"flex-start"который будет выравнивать по верхнему краю все элементы, включая входное украшение:

      <TextField
    label={"Comment"}
    multiline
    minRows={1}
    maxRows={4}
    fullWidth={true}
    onChange={e => handleChange(e)}
    value={currentComment}
    InputProps={{
        endAdornment: <Button variant="contained" disabled={submitBtnDisabled}
                              onClick={submitNewComment}
                              sx={{
                                  marginLeft:"6px",
        }}
        >Submit</Button>,
        sx: {
            "& .css-3fezr7-MuiInputBase-root-MuiOutlinedInput-root" : {
                padding: "4px 8px 4px 8px"
            },
            fontSize: ".875rem;",
            alignItems:"flex-start"
        }
    }}/>

Вот как это выглядит для меня:

Используя тот же метод, вы также можете выровнять его по низу, используяalignItems:"flex-end"

Другие вопросы по тегам