Мне нужно пройти n-й узел и обновить «заголовок» - PullRequest
0 голосов
/ 01 апреля 2020

пожалуйста, найдите ниже код, который содержит вложенный объект внутри массива

Мне нужно пройти n-й узел и обновить "заголовок" до другого значения ie Я обновляюсь до элемента ввода

I Я использую рекурсию для обновления значения, но оно не обновляется.

Могу ли я использовать loda sh или каким-либо другим способом перебрать и изменить "заголовок", используя реакционные хуки

нужно использовать хуки обновить значение

какие-либо предложения?

см. Ниже фрагмент

const jsondata= [
  {
    header: "Test-1",
    y14: 10,
    y15: 15,
    y16: 20,

    parents: [
      {
        // id: 1,
        header: "Test-2",
        y14: 5,
        y15: 10,
        y16: 20,

        children: [
          {
            id: 1,
            header: "Test-3",
            y14: 5,
            y15: 10,
            y16: 20
          },
          {
            id: 2,
            header: "Test-4",
            y14: 5,
            y15: 10,
            y16: 20,

            children: [
              {
                id: 2,
                header: "Test-5",
                y14: 3,
                y15: 2,
                y16: 1
              },
              {
                id: 2,
                header: "Test-6",
                y14: 4,
                y15: 5,
                y16: 6
              }
            ]
          }
        ]
      },
      {
        id: 1,
        header: "Test-7",
        y14: 5,
        y15: 10,
        y16: 20
      }
    ]
  },
];

const [data, setData]=useState(jsondata);
const tempObj = {};
function iterate(obj: any) {
    for (const k in obj) {
      if (typeof obj[k] == 'object' && obj[k] !== null) {
        iterate(obj[k]);
      } else {
        tempObj[k] = <input type="text" value={obj[k]} />;
        setData([...data,tempObj]);
      }
    }
  }

1 Ответ

0 голосов
/ 01 апреля 2020

Вы можете пройти таким образом:

https://codesandbox.io/s/json-example-m3u4x

, но я бы порекомендовал loda sh to ._assign значения с меньшим количеством кода.

https://lodash.com/docs/4.17.15#assign

надеюсь, что это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...