как отображать данные в массиве в порядке поступления на дату в реагировать на родной - PullRequest
1 голос
/ 26 июня 2019

// Я пытаюсь отобразить значение массива при добавлении даты заказа. как "rechargeHistoryDetails" [], оно содержит 4 значения, каждое значение имеет chargeDate, то, что я пытаюсь достичь этого, vale с недавней датой должно появляться первым на экране, а затем следующим и т. д. Я пробовал функцию sort (), но она не работает Вот . Я должен отображать данные в формате даты ниже 4, значение с «2017-01-14» должно стоять на первом месте в списке, а затем «2015-11-14» и затем следующее. Пожалуйста, подскажите, как я могу это сделать.

1.2017-01-14
2.2015-11-14
3.2015-02-14
4.2014-08-13

 const {customer,rechargeDeatails} = this.props;

   rechargeHistoryDetails: Array(4)
    0:
    balance: 100
    chargeDate: "2014-08-13T14:16:23.000+01:00"
    serialNumber: 2627423951927890
    __typename: "RechargeHistoryDetails"

    1:
    balance: 5006
    chargeDate: "2015-02-14T22:48:53.000+01:00"
    serialNumber: 1696013838876544
    __typename: "RechargeHistoryDetails"

    2:
    balance: 5002
    chargeDate: "2017-01-14T22:48:53.000+01:00"
    serialNumber: 1696013838876548
    __typename: "RechargeHistoryDetails"


    3:
    balance: 5000
    chargeDate: "2015-11-14T22:48:53.000+01:00"
    serialNumber: 1696013838876550
    __typename: "RechargeHistoryDetails"

          {
              rechargeDeatails.rechargeHistoryDetails.map(
                ({balance,cardType,chargeDate,serialNumber},index)=>{
                return (
                <View style={{marginBottom: 10}} key={index}>
                    <Card>
                    <CardItem header style={{backgroundColor: '#fff', width: '100%', justifyContent: 'space-between', borderBottomColor: '#f1f1f1', borderBottomWidth: 1}}>
                      <View style={{flexDirection:'column',justifyContent: 'space-between'}}>
                        <View>
                          <RegularText text={`₦ ${balance}`} style={{ fontWeight: 'bold' }}/>
                          <SmallText text={`Recharged on ${formatDateTime(chargeDate)}`} textColor="grey"/>
                        </View>
                      </View>

                    </CardItem>
                      <CardItem>
                        <Body>
                          <View style={{flexDirection:'row', width: '100%',justifyContent: 'space-between',}}>
                            <View style={{ flexDirection:'row', flexWrap: 'wrap',alignItems: "flex-start"}}>
                                <View>
                                    <SmallText  text="Serial#" textColor="grey"/>
                                    <Text style={{ fontWeight: 'bold', fontSize:12 }}>{serialNumber}</Text>
                                </View>
                            </View>
                            <View style={{ flexDirection:'row', flexWrap: 'wrap',alignItems: "flex-start"}}>
                              <View>
                                <SmallText  text="Channel" textColor="grey"/>
                                <Text style={{ fontWeight: 'bold', fontSize:12 }}>Voucher</Text>
                              </View>
                            </View>

                          </View>
                        </Body>
                      </CardItem>
                    </Card>
                  </View>
                );
              })
            }

// Спасибо

Ответы [ 3 ]

1 голос
/ 26 июня 2019

забудьте о вышеперечисленных вещах, просто измените ниже,

     import _ from 'lodash';
   _.sortBy(rechargeDeatails.rechargeHistoryDetails, ["chargeDate"]).reverse().map(
0 голосов
/ 26 июня 2019

@ Абхигян Гаурав

попробуйте, как показано ниже код

sortdatalist = (data) =>  {
        return data.sort((a, b) => {
            let result = null;
            if (a.userprio != null) {
                var dateA = new Date(a.chargeDate).getTime();
                var dateB = new Date(b.chargeDate).getTime();
            }
            result = dateA < dateB ? 1 : -1;
            return result;
        });
    }




let sortedData = this.sortdatalist(rechargeHistoryDetails)

спасибо

0 голосов
/ 26 июня 2019

в какую функцию входит сортировка? если это не в render(), тогда это ваша проблема

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...