Обнаружение, когда выпадает открыт или закрытJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Обнаружение, когда выпадает открыт или закрыт

Сообщение Anonymous »

Я должен иметь возможность обнаружить, когда выпадает выпадающая часть потока и закрывается от его родительского компонента. При открытии мне нужно позвонить в конечную точку API и обновить состояние одного из его элементов, но только при открытии. Причиной этого является то, что у меня есть дюжина этих раскрывающихся департаментов, присутствующих на странице одновременно, выполняя эти функции обновления одновременно, наносят ущерб производительности. < /P>
Вот минимальный пример компонента. Заполнение было бы асинхронным вызовом на бэкэнд. Это работает и делает то, что я хочу, но это работает для каждого элемента для каждого компонента , отображаемого на экране. Это много обработки. Я хочу, чтобы это было лениво только для предметов в открытом выпадении.

Код: Выделить всё

export default function RowOptions() {
return (


Actions
{items.map(item => (
{populate()}
))}


)
}
Я надеялся, что у него будет свойство onopen или onclose , к которому я мог бы зацепить, но это не так. Есть ли обертка, которую я могу использовать, чтобы получить эту функциональность? Я попытался использовать рефери в трек, когда он виден, но это работало только частично.export default function RowOptions() {
const [isOpen, setIsOpen] = useState(false);
const myRef = useRef(null);

return (

}>

Actions
{items.map(item => (
{populate()}
))}


)
}
< /code>
Это работало частично. Я мог бы по существу отслеживать изменение состояния, если кнопка нажала ... но это осенью, как только вы нажали на предмет или выпуск от выпадающего списка. Тогда государство станет все грязно. Так что этот подход явно был не лучшим вариантом. Я не уверен, что это лучший подход, особенно для React, но это то, над чем я сейчас работаю.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -or-closed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Cosstream был закрыт и не может быть прочитал. Возможно, его ограждающий PDDOCUMENT был закрыт?
    Anonymous » » в форуме JAVA
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Обнаружение, открыт ли консоль/devtools во всех браузерах
    Anonymous » » в форуме Jquery
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Обнаружение, открыт ли консоль/devtools во всех браузерах
    Anonymous » » в форуме Jquery
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Найдите, сколько раз данный день недели выпадает в указанном году.
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Свиток страницы сломан, когда выпадает
    Anonymous » » в форуме Javascript
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»