简体   繁体   中英

How to create an array and push for object properties?

I have a situation where I have values from the backend dataItem . Now I want to push these values to an array and set for object properties, so next step would be map object properties to he form fields. With below code I got the values and assign it to object selectedOwners and its working good, but problem is everytime user addProcessOwner is creating new object for every user and when $scope.processDTO.prcsOwner = selectedOwners.fullName; do this its only assigning last value to the form field.

Once user select multiple owners how can I display all owners into form field?

main.html

<input type="text" class="form-control  customReadOnly"
            id="prcsOwner" required ng-model="processDTO.prcsOwner"
            ng-click="openPrcsOwner()" ng-disabled="PROCESS_EDIT"/>

ctrl.js

var selectedOwners = {};
$scope.selectedOwnerGrid = rcsaAssessmentService.selectedProcessOwners();
$scope.addProcessOwner = function(dataItem) {
    selectedOwners = {
        fullName: dataItem.fullName,
        workerKey: dataItem.workerKey
    }
    console.log('WORKER DATA', selectedOwners);
}
$scope.selectedProcessOwner = function() {
    $scope.prcsOwnerModal.close();
    $scope.processDTO.processOwnerWorkerKey = selectedOwners.workerKey;
    $scope.processDTO.prcsOwner = selectedOwners.fullName;
    console.log('FORM DATA', $scope.processDTO.processOwnerWorkerKey, $scope.processDTO.prcsOwner);
};

I think that what you trying to do is this:

var selectedOwners = [];

...

var selectedOwner = {
    fullName: dataItem.fullName,
    workerKey: dataItem.workerKey
}

selectedOwners.push(selectedOwner);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM