Условный стиль FlatList не работает должным образом - PullRequest
0 голосов
/ 07 января 2020

Я пытался создать условный стиль для плоского списка, но оказалось, что он не полностью функционален. Я не знаю, что мне здесь не хватает, помощь будет принята.

ниже приведен код, где работает последнее условие item.status == 5

<Text
  style={[
    item.status == 1 ? styles.Approved : styles.orderStatusText,
    item.status == 2 ? styles.Sold : styles.orderStatusText,
    item.status == 3 ? styles.UnderReview : styles.orderStatusText,
    item.status == 4 ? styles.Inactive : styles.orderStatusText,
    item.status == 5 ? styles.Deleted : styles.orderStatusText
  ]}
>
  {item.status}
</Text>

Код API

UserProducts() {
  fetch(`http://`, {
    method: "GET"
  })
    .then(response => response.json())
    .then(resp => {
      this.setState({
        UserProducts: resp
      });
      console.log("Success", this.state.LastProduct);
      console.log("Test", seller_id);
    })
    .catch(error => {
      console.log("Api call error1");
    });
}

пример одного из стилей:

  Deleted: {
    fontSize: 12,
    fontFamily: Theme.regularFont,
    color: 'red', 
    paddingLeft: 8,
    fontWeight: '400'
},

1 Ответ

0 голосов
/ 07 января 2020
  <Text 
     style={[styles.orderStatusText]}>
     {(item.status === 1) ? <Text style={styles.Approved}>Approved</Text> : null}
     {(item.status === 2) ? <Text style={styles.Sold}>Sold</Text> : null}
     {(item.status === 3) ? <Text style={styles.UnderReview}>Under Review</Text> : null}
     {(item.status === 4) ? <Text style={styles.Inactive}>Inactive</Text> : null}
     {(item.status === 5) ? <Text style={styles.Deleted}>Deleted</Text> : null}
</Text>

Я подумал и сделал это, работал очень хорошо.

...