Как объединить столбцы в datatable LWC?
У меня есть таблица Контактов. Таблица должна содержать столбцы idName и Name. Поле idName должно отображать запись в формате 003XXXXXXXXXXXXXXXName как объединение идентификатора 003XXXXXXXXXXXXXXX и строки Name. Это мой код:
html
<template>
<lightning-card>
<lightning-datatable
key-field="Id"
data={contacts}
columns={columns}
hide-checkbox-column="true"
show-row-number-column="true">
</lightning-datatable>
</lightning-card>
</template>
js
import { LightningElement, track, wire } from 'lwc';
import getContacts from '@salesforce/apex/ContactController.getContacts';
export default class ContactsTable extends LightningElement {
@track columns = [
{ label: 'Name', fieldName:'recordLink', type: 'url',
typeAttributes: {label: {fieldName: "ContactName"}, tooltip: "Name", linkify: true} },
{ label: 'Id', fieldName: 'Id'},
{ label: 'Name', fieldName: 'Name'}
];
@track contacts;
@wire(getContacts)
wiredContacts(value) {
const {error, data} = value;
if (data) {
let contactData = JSON.parse(JSON.stringify(data));
contactData.forEach(record => {
record.recordLink = "/" + record.Id;
record.ContactName = record.Name;
});
this.contacts = contactData;
} else if (error) {
this.error = error;
}
}
}
apex class
public with sharing class ContactController {
public ContactController() {}
@AuraEnabled(cacheable=true)
public static List<Contact> getContacts(){
return[ SELECT Id, Name
FROM Contact
ORDER BY Name
];
}
}