我有以下代码:
public class MergeDuplicatesController {
@AuraEnabled
public static List<Contact> findContacts(String searchValue, Boolean selected, Boolean isPrime, Integer length) {
searchValue = '%'+searchValue+'%';
//List<ContactWrapper> ContactList = new List<ContactWrapper>();
//integer i = 1;
List<Contact> conList = [SELECT Name, Account.Name FROM Contact WHERE Name LIKE : searchValue];
for(Contact con : conList){
ContactWrapper wr = new ContactWrapper();
wr.isPrime = isPrime;
wr.selected = selected;
conList.add(wr);
}
return conList;
}
public class ContactWrapper{
@AuraEnabled
public Boolean selected;
@AuraEnabled
public Boolean isPrime;
@AuraEnabled
public Contact con;
}
}
但它抛出了一个错误:
方法不存在或签名不正确:
void add(MergeDuplicatesController.ContactWrapper)
从类型
List<Contact>
如何修复它?
您定义了List<Contact> conList
。联系人列表。它只接受Contact
类的对象。您不能将ContactWrapper
添加到此列表,因为它不是联系人,它不扩展(继承自(联系人。。。
您可能需要类似的东西
public static List<ContactWrapper> findContacts(String searchValue, Boolean selected, Boolean isPrime, Integer length) {
searchValue = '%'+searchValue+'%';
List<ContactWrapper> ret = new List<ContactWrapper>();
List<Contact> conList = [SELECT Name, Account.Name FROM Contact WHERE Name LIKE : searchValue];
for(Contact con : conList){
ContactWrapper wr = new ContactWrapper();
wr.con = con;
wr.isPrime = isPrime;
wr.selected = selected;
ret.add(wr);
}
return ret ;
}