Привет. У меня есть таблица лидов с колонками NAME TITLE и PHONE. Мне нужно сделать инпуты для TITLE и PHONE чтобы прямо в них получать, сохранять и изменять инфу. Пользователь не должен использовать для сохранения кнопку. В инпутах одновременно надо и получать лиды из базы и изменять их с сохранением. Как можно это реализовать?
import { LightningElement, wire} from 'lwc'; import getLeads from '@salesforce/apex/Qqq.getLeads'; import NAME_FIELD from '@salesforce/schema/Lead.Title'; import TITLE_FIELD from '@salesforce/schema/Lead.Title'; import PHONE_FIELD from '@salesforce/schema/Lead.Phone';
public with sharing class ProjectThree { @AuraEnabled(cacheable=true) public static List<Lead> getLeads() { List<Lead> leads = [ SELECT Id, Name, Title, Phone FROM Lead WHERE Name Like 'Lisa%' Limit 3 ]; System.debug('leads = ' + leads); return leads; } }
Привет.
У меня есть таблица лидов с колонками NAME TITLE и PHONE. Мне нужно сделать инпуты для TITLE и PHONE чтобы прямо в них получать, сохранять и изменять инфу. Пользователь не должен использовать для сохранения кнопку. В инпутах одновременно надо и получать лиды из базы и изменять их с сохранением. Как можно это реализовать?
<template>
<lightning-card title="Leads">
<lightning-layout>
<lightning-layout-item>
<lightning-record-edit-form object-api-name="Lead">
<lightning-input-field field-name={Name}></lightning-input-field>
<lightning-input-field field-name={Title}></lightning-input-field>
<lightning-input-field field-name={Phone}></lightning-input-field>
<!-- <lightning-input-field field-name="Title"> </lightning-input-field>
<lightning-input-field field-name="Title"> </lightning-input-field> -->
</lightning-record-edit-form>
<!-- <lightning-layout-item size="12" padding="around-small">
<lightning-datatable key-field="id" data={leads} columns={columns}></lightning-datatable>
</lightning-layout-item> -->
</lightning-layout-item>
</lightning-layout>
</lightning-card>
</template>
import { LightningElement, wire} from 'lwc';
import getLeads from '@salesforce/apex/Qqq.getLeads';
import NAME_FIELD from '@salesforce/schema/Lead.Title';
import TITLE_FIELD from '@salesforce/schema/Lead.Title';
import PHONE_FIELD from '@salesforce/schema/Lead.Phone';
// const columns = [
// { label: 'Name', fieldName: 'recordLink', type: 'url',
// typeAttributes: {label: {fieldName: "LeadName"}, tooltip: "Name", linkify: true} },
// { label: 'Title', fieldName: 'Title', type: 'text', editable: true },
// { label: 'Phone', fieldName: 'Phone', type: 'text', editable: true }
// ];
export default class LeadTable extends LightningElement {
leadTitle = NAME_FIELD;
leadTitle = TITLE_FIELD;
leadPhone = PHONE_FIELD;
// columns = columns;
// leads;
@wire(getLeads)
wiredLeads(value) {
const {error, data} = value;
if (data) {
let leadData = JSON.parse(JSON.stringify(data));
leadData.forEach(record => {
record.recordLink = "/" + record.Id;
record.LeadName = record.Name;
});
this.leads = leadData;
} else if (error) {
this.error = error;
}
}
}
public with sharing class ProjectThree {
@AuraEnabled(cacheable=true)
public static List<Lead> getLeads() {
List<Lead> leads = [
SELECT Id, Name, Title, Phone
FROM Lead
WHERE Name Like 'Lisa%'
Limit 3
];
System.debug('leads = ' + leads);
return leads;
}
}