Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menggunakan bar carian dengan dua nilai berbeza?

Saya cuba menambah nilai lain (organization.name) pada bar carian yang telah berjaya berfungsi, untuk bukan sahaja menapis senarai SearchTerms daripada organization.topic. Tapi dia tak tambah..

const filteredOrganizations = context.allOrganizations.filter((organization) => (organization.topic.searchTerms
        .map((term) => term.toLowerCase())
        .join(" ") ||
        organization.name)
        .includes(searchText.toLowerCase()))

Ini adalah bahagian yang berkaitan dengan pulangan saya:

<TableBody>
                            {filteredOrganizations.map((organization) => (

                                <StyledTableRow key={organization.id}>
...

Semoga anda mempunyai idea

P粉238433862P粉238433862380 hari yang lalu402

membalas semua(2)saya akan balas

  • P粉745412116

    P粉7454121162023-09-08 11:29:47

    Jangan gunakan || kerana anda juga ingin menyemak nama organisasi. Hanya satukan tali

    const filteredOrganizations = context.allOrganizations.filter(organization => 
    (
      organization.topic.searchTerms
        .map(term => term.toLowerCase()).join(' ')
        + ' ' + organization.name
    )
    .includes(searchText.toLowerCase()))

    balas
    0
  • P粉083785014

    P粉0837850142023-09-08 09:42:26

    Ini penyelesaiannya:

    const filteredOrganizations = context.allOrganizations.filter(organization => {
            const searchTerms = organization.topic.searchTerms.map(term => term.toLowerCase()).join(" ");
            const organizationName = organization.name.toLowerCase();
            const searchString = `${searchTerms} ${organizationName}`;
    
            return searchString.includes(searchText.toLowerCase());
        });
    

    balas
    0
  • Batalbalas