@DemonFromIrk

Как записать часть массива в vue?

Делаю запрос к API: $.get('/api/v2/staff/role/' + this.roleData.id)
Приходит такой ответ:
spoiler
{
    "id": "1",
    "status": "1",
    "name": "Администратор",
    "rights": {
        "orders.view": "1",
        "orders.create": "1",
        "orders.changeClosed": "0",
        "main.managerList": "1",
        "main.workerList": "1",
        "finance.reports": "1",
        "compendiums.counteragents": "1",
        "compendiums.works": "1"
    },
    "error": {
        "error_code": 0
    }
}

Как мне записать массив прав ответа со значением 1 в массив vue checkRights (Я использую его для чекбоксов) ?
data:{
  test: null,
  modalAdd: false,
 roleData:{
     id:null,
     name: null,
     checkRights: []
                }
 }
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
yarkov
@yarkov Куратор тега Vue.js
Помог ответ? Отметь решением.
const response = {
    "id": "1",
    "status": "1",
    "name": "Администратор",
    "rights": {
        "orders.view": "1",
        "orders.create": "1",
        "orders.changeClosed": "0",
        "main.managerList": "1",
        "main.workerList": "1",
        "finance.reports": "1",
        "compendiums.counteragents": "1",
        "compendiums.works": "1"
    },
    "error": {
        "error_code": 0
    }
};

const roleData = {
	checkRights: []
};

const rights = Object.keys(response.rights).filter((key) => +response.rights[key] === 1);

roleData.checkRights = roleData.checkRights.concat(rights);

console.log(roleData);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы