0

我正在使用搜索功能,我从LeaveType搜索休假,它工作正常,但我也想搜索状态,该项目包含状态。搜索功能如何在LeaveTypeStatus上工作。我尝试过的:

const itemData = item.LeaveType ? item.LeaveType.toUpperCase() : ''.toUpperCase() || item.Status ? item.Status.toUpperCase() : ''.toUpperCase();

我正在使用这个功能

SearchFilterFunction(value) {
    const newData = this.state.display.filter(function(item) {
        const itemData = item.LeaveType ? item.LeaveType.toUpperCase() : ''.toUpperCase();
      const textData = value.toUpperCase();
      return itemData.indexOf(textData) > -1;
    });
    this.setState({
      response: newData,
      value: value,
    });
  }

谁能知道我做错了什么或这里缺少什么?

4

2 回答 2

1

这段代码对我有用

 SearchFilterFunction(value) {
    const newData = this.state.display.filter(function(item) {
      //const itemData = item.LeaveType || item.Status ? item.LeaveType.toUpperCase() || item.Status.toUpperCase() : ''.toUpperCase() || ''.toUpperCase();
        const leavetypeData = item.LeaveType ? item.LeaveType.toUpperCase() : ''.toUpperCase();
        const statusData = item.Status ? item.Status.toUpperCase() : ''.toUpperCase();
        const stData = item.StartDate ? (moment(item.StartDate).format("dd MMM yyyy")) : '';
        const edData = item.EndDate ?  (moment(item.EndDate).format("dd MMM yyyy")) : '';
        const reasonData = item.Reason ?  (item.Reason).toUpperCase() : '';
      const textData = value.toUpperCase();
      return (leavetypeData.indexOf(textData) > -1 ||  statusData.indexOf(textData) > -1 || stData.toUpperCase().indexOf(textData) > -1 
      ||  edData.toUpperCase().indexOf(textData) > -1 ||  reasonData.indexOf(textData) > -1);
    });
    this.setState({
      response: newData,
      value: value,
    });
  }
于 2020-02-25T07:37:25.917 回答
0

这是我的职责。它的工作 3 参数搜索。

searchFilter = text => {
		const newData = this.state.allContacts.filter(item => {
			const listItem = `${item.name.first.toLowerCase()} ${item.name.last.toLowerCase()} ${item.location.state.toLowerCase()}`;

			return listItem.indexOf(text.toLowerCase()) > -1;
		});

		this.setState({
			contacts: newData,
		});
	};

于 2020-02-25T07:03:15.820 回答