J'ai ce matériel-ui ListItemText :

<ListItemText primary={<div>
  <Table className={classes.table}>
    <TableRow>
      <TableCell width="40">{item.issue_state}</TableCell>
      <TableCell width="40">{item.issue_number}</TableCell>
      <TableCell width="600">{item.issue_title}</TableCell>
      <TableCell width="600">{item.issue_url}</TableCell>
    </TableRow>
  </Table>
</div>}/>

Plutôt que d'afficher l'URL, j'aimerais avoir quelque chose comme ceci :

if (item.issue_url.includes("github.com") {
  item.issue_url = 'Public'
}
else if (item.issue_url.includes("github.company.com") {
  item.issue_url = 'Private'
}

Où le TableCell affiche Public de Private plutôt que l'URL entière. Cela peut-il être fait?

0
runnerpaul 13 mars 2019 à 22:38

2 réponses

Meilleure réponse

Faites quelque chose comme ça:

<ListItemText primary={<div>
  <Table className={classes.table}>
    <TableRow>
      <TableCell width="40">{item.issue_state}</TableCell>
      <TableCell width="40">{item.issue_number}</TableCell>
      <TableCell width="600">{item.issue_title}</TableCell>
      <TableCell width="600">{item.issue_url.includes("github.company.com") ? 'Private' : 'Public' }</TableCell>
    </TableRow>
  </Table>
</div>}/>
0
Katia Wheeler 13 mars 2019 à 19:45

Vous pouvez utiliser comme ci-dessous,

<ListItemText primary={<div>
  <Table className={classes.table}>
    <TableRow>
      <TableCell width="40">{item.issue_state}</TableCell>
      <TableCell width="40">{item.issue_number}</TableCell>
      <TableCell width="600">{item.issue_title}</TableCell>
      <TableCell width="600">{
            (item.issue_url.indexOf('github.company.com') >=0)
            ? 'Private' 
            : ((item.issue._url.indexOf('github.com') >=0) 
              ? 'Public'
              : '')
      }</TableCell>
    </TableRow>
  </Table>
</div>}/>

Sinon, une bonne idée est de créer une propriété dérivée dans item basée sur issue_url

1
Vamsi Praveen Karanam 13 mars 2019 à 19:53