簡體   English   中英

如何在反應js中移動列表中的項目

[英]How to move an item in a list in react js

`大家好,我需要 React js 的幫助,發生的事情是我想將一個項目從特定列表移動到最后一個位置,但是當我移動它時,它不會加載我之前擁有的數據,不幸的是我'我對 React js 和 ps 很陌生,不是我都知道,所以我轉向這個社區尋求幫助,很快我會上傳代碼,希望你能幫助我,謝謝。

const [categories, setCategories] = useState<CategoriesWithSubsCategories>()

const listSelectCategory = categories?.list.map(cat =\> {
  const { category, id } = cat.category
  return {
    value: id,
    label: category
  }
}).filter(cat =\> cat.label !== 'Otros')
listSelectCategory?.sort((a, b) =\> a.label.localeCompare(b.label)).push({ value: 'Otros', label: 'Otros' })``

正如您在上面所看到的,嘗試使用 filter 屬性來過濾該類別,然后使用 push 屬性將其添加到列表的末尾,它有效但不是它應該如何工作,因為我想放在最后的類別列表中的應該給我帶來一些子類別,但它沒有,這就是我的問題所在。

嘗試使用 setState 變量設置結果。 我在任何地方都看不到這一點。

如果您想從名為categories的變量中訪問數據,請在代碼底部添加此行,它將使用 setState function 更新變量的值。

setCategories(listSelectCategory)

你可以這樣做:

const [categories, setCategories] = useState<CategoriesWithSubsCategories>();

...

// suppose categories is defined
setCategories((prev) => {
    const newList = [...prev.list];
    newList.push(newList.splice(newList.findIndex((item) => item.label === "Otros"),1)[0]);
    return {
        ...prev,
        list: newList
    };
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM