Как я могу перечислить рекурсивный массив в select с помощью vuejs и laravel? - PullRequest
1 голос
/ 14 октября 2019

У меня есть рекурсивный массив, который я хочу перечислить в выборке ... но я понятия не имею, как это сделать динамически, поскольку идея состоит в том, что вы можете создать N чисел и подкатегорий моего массива

{
  "categorias": [
    {
      "id": 1,
      "nombre": "Categoria Padre",
      "descripcion": "Descricpion",
      "estado": 1,
      "prioridad": 1,
      "parent_id": null,
      "imagen": null,
      "created_at": null,
      "updated_at": "2019-10-14 14:25:32",
      "children_recursive": [
        {
          "id": 2,
          "nombre": "Categoria Hijo 1",
          "descripcion": null,
          "estado": 1,
          "prioridad": 1,
          "parent_id": 1,
          "imagen": null,
          "created_at": null,
          "updated_at": "2019-10-14 14:25:20",
          "children_recursive": [
            {
              "id": 4,
              "nombre": "Categoria Sub Hijo",
              "descripcion": "sdsd",
              "estado": 1,
              "prioridad": 1,
              "parent_id": 2,
              "imagen": null,
              "created_at": null,
              "updated_at": "2019-10-14 14:35:02",
              "children_recursive": [
                {
                  "id": 5,
                  "nombre": "Categoria de Prueba",
                  "descripcion": "Descripcion de Prueba",
                  "estado": 0,
                  "prioridad": null,
                  "parent_id": 4,
                  "imagen": null,
                  "created_at": "2019-10-14 14:34:40",
                  "updated_at": "2019-10-14 14:34:56",
                  "children_recursive": [

                  ]
                }
              ]
            }
          ]
        },
        {
          "id": 3,
          "nombre": "Catgoria Hijo2",
          "descripcion": null,
          "estado": 1,
          "prioridad": 1,
          "parent_id": 1,
          "imagen": null,
          "created_at": null,
          "updated_at": "2019-10-14 14:25:12",
          "children_recursive": [

          ]
        }
      ]
    }
  ]
}

У меня есть метод, в котором я получаю этот массив в моем контроллере, а затем показываю его в моем списке выбора, но дочерние или вспомогательные массивы не отображаются

Примерто, что у меня есть, это мой выбор

<select v-model="form.parent_id" name="form.parent_id" id="" class="form-control" :class="{ 'is-invalid': form.errors.has('parent_id') }">
   <option value="" selected>Seleccione un padre (Opcional)</option>
   <option v-for="c in arrayCategoria" :value="c.id" v-text="c.nombre"> 
   </option>
</select>

моя функция

selectCategoria(){
  let me=this
  var url= '/admin/selectCategoria'
  axios.get(url)
   .then(function (response) {
     var respuesta= response.data
     console.log(respuesta)
     me.nodes = respuesta.categorias
  })
  .catch(function (error) {
    toastr.error(error.response.data.message)
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...