Реагировать - zIndex не работает

Мое приложение React с функцией автозаполнения еще не завершено. Пожалуйста, помогите проверить мой код.

Реагировать - zIndex не работает

Для следующего кода я добавляю поле поиска со стилем автозаполнения className. когда я печатаю, это показывает, что автозаполнение не перекрывает таблицу. Я пытаюсь добавить как z-index в css, так и zIndex в код реакции, но он все еще не работает.

render() {
        const list = this.state.items.map((item) => <li key = {item._id} style = {{zIndex: 99}}>{item.itemname}</li>);
    return (
      <div className = "Receivings">
        <h1>Receivings</h1>
        <hr />
        <Row>
            <Col xs = {8} sm = {4} md = {3} lg = {2}>
                <div className = "autocomplete" style = {{zIndex: 10}}>
                    <input 
                        style = {{zIndex: 10}}
                        type = "text" 
                        className = "autocomplete" 
                        placeholder = "Search"    
                        onChange = {this.getItemName}
                    />
                    <ul style = {{zIndex: 10}}>{list}</ul>
                </div>

              </Col>
            </Row>
            <div className = "panel panel-default" style = {{ zIndex: -1 }}>
                <table className = "table table-bordered">
                <thead>
                    <tr>
                    <th>Item ID</th>
                    <th>Item Name</th>
                    <th>Category</th>
                    <th>Wholesale Price</th>
                    <th>Retail Price</th>
                    <th>Quantity</th>
                    <th>Comment</th>
                    <th />
                    </tr>
                </thead>
                    <tbody>
                    {this.state.pageOfItems.map(item => (
                        <tr key = {item._id}>
                                <td>{item.itemid}</td>
                                <td>{item.itemname}</td>
                                <td>{item.category}</td>
                                <td style = {{textAlign: "right"}}>{item.wholesaleprice.toLocaleString(navigator.language, { minimumFractionDigits: 2 })}</td>
                                <td style = {{textAlign: "right"}}>{item.retailprice.toLocaleString(navigator.language, { minimumFractionDigits: 2 })}</td>
                                <td style = {{textAlign: "right"}}>{item.quantitystock}</td>
                                <td>{item.comment}</td>
                                <td>
                                <i className = "glyphicon glyphicon-edit" onClick = {() => this.props.history.push(`${this.props.match.url}/edit/${item._id}`)}></i>
                        </td>
                              </tr>
                            ))}
                    </tbody>
                </table>
            </div>
            <Pagination
            items = {this.state.items}
            onChangePage = {this.onChangePage}
        />
      </div>
    );
  }
}

почему оба zIndex равны 10?

Amirmohammad Moradi 21.05.2018 17:05

Я много пробовал. Любое предложение, пожалуйста. Просто хочу поставить таблицу под автозаполнение.

sirisakc 21.05.2018 17:07

позиционирование автозаполнения в абсолютном? я думаю, что это перекрывает таблицу, если вы сделаете позицию: absolute;

Roy Bogado 21.05.2018 17:11

Привет, Рой, большое спасибо. Это работает!!!!

sirisakc 21.05.2018 17:18

Это не проблема реакции. Вам следует глубже взглянуть на то, как работает z-index и контекст стекирования.

Tiago Engel 21.05.2018 17:21
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
8
5
9 949
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Дайте абсолютную позицию вашей ul, в которой вы показываете результат

Ответ принят как подходящий

По умолчанию все элементы HTML имеют неявный position: static.

Если вы хотите применить любую из 2-х координат:

  • top
  • right
  • bottom
  • left

или 3-я координата:

  • z-index

тогда вы должен явно объявляете другой тип позиционирования.

Либо:

  • position: relative;
  • position: absolute;
  • position: fixed;
  • position: sticky;

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