Size: a a a

React — русскоговорящее сообщество

2021 April 11

as

artem sdobnikov in React — русскоговорящее сообщество
напиши так

<Form.Control as="select" defaultValue="Choose...">
   <option>Choose...</option>
   <option>...</option>
</Form.Control>
источник

W

Wl in React — русскоговорящее сообщество
проблема он selected
источник

as

artem sdobnikov in React — русскоговорящее сообщество
так убери его
и с помощью defaultValue пусть будет выбран
источник

W

Wl in React — русскоговорящее сообщество
а нужно типо его видно 1ым , но его нельзя выбрать
источник

as

artem sdobnikov in React — русскоговорящее сообщество
disabled оставь
источник

AS

Alexandr Sachishin in React — русскоговорящее сообщество
через display:none можно скрыть опцию с самого списка, но она останется выбранной и будет как плейсхолдер
источник

W

Wl in React — русскоговорящее сообщество
работает спасибо  :)
источник

Λ

Λlexandr🌆 in React — русскоговорящее сообщество
Подскажите, пожалуйста, как сделать лист кнопок, которые можно делать disabled. Т.е есть массив с кнопками, которые я отображаю. Как мне лучше реализовать disabled при ее нажатии?
Я пробовал менять переменную в массиве, но это не помогает, потому что нужно каким-то образом ререндерить, а setVar не помогает, потому что сам массив не изменился.
источник

AS

Alexandr Sachishin in React — русскоговорящее сообщество
в объект кнопки добавить поле disabled = true/false, при нажатии менять его на true. и к кнопке добавить disabled={button.disabled}
источник

Λ

Λlexandr🌆 in React — русскоговорящее сообщество
          {topics.map((item, pos) => {
           return (
             <Button key={item.id} onClick={() => {
               const t = topics;
               t[pos].disabled = !topics[pos].disabled;
               setTopics(t);
             }} disabled={item.disabled}>{item.name}</Button>
           );
         })}
Так не работает, потому что ререндер не происходит
источник

AS

Alexandr Sachishin in React — русскоговорящее сообщество
кнопке добавить value или id, при нажатии возвращать копию массива с измененным состоянием disabled у кнопки  с данным value/id
источник

as

artem sdobnikov in React — русскоговорящее сообщество
ты здесь копируешь ссылку
а не массив
const t = topics;
источник

AS

Alexandr Sachishin in React — русскоговорящее сообщество
сделайте через useState. закиньте туда topics, создайте функцию, которая меняет disabled у данной кнопки и возвращает копию массива, только и измененным disabled и при клике на кнопку вызывайте эту функцию
источник

13

123 321 in React — русскоговорящее сообщество
я нашел причину. именно при удалении объекта из дерева объектов usestate происходит сброс плеера ютуб в iframe. при ДОБАВЛЕНИИ все отлично. как быть?
источник

as

artem sdobnikov in React — русскоговорящее сообщество
поменяй на
const t = [...topics];
источник

Λ

Λlexandr🌆 in React — русскоговорящее сообщество
const t = [...topics];

Поменял на копию, теперь работает. Спасибо за ответы! :)
источник

AS

Alexandr Sachishin in React — русскоговорящее сообщество
каким образом удаляется элемент?
источник

13

123 321 in React — русскоговорящее сообщество
Object.keys(obj).forEach((key, i) => {
           if (!_users.includes(key)) {
                 delete (obj[key]);            <—————————————
               if (activeTab === key) {
                   setActiveTab("Home");
               }
           }
       });
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
дока дока дока
источник

13

123 321 in React — русскоговорящее сообщество
отметил стрелкой
источник