【发布时间】:2020-02-08 08:06:18
【问题描述】:
我正在尝试使用 mobx-react 而不是 state 对导入的项目列表(标题和描述)进行过滤搜索输入。 但是当我输入输入时,在控制台中我得到 [object object],当然没有过滤任何内容。这是我的代码,我是 mobx 的新手。谁能帮我? 提前谢谢!!!
import React from "react";
import items from "../pages/items";
import {observable, action, computed, decorate} from 'mobx';
import {observer} from 'mobx-react';
class Searchbar extends React.Component {
filterTermValue = [];
itemsList = items
get filtered() {
let filteredList = this.itemsList.filter(
t=>(t.title && t.description).indexOf(this.filterTermValue)>-1
);
if (filteredList.length)
return filteredList;
return this.itemsList;
}
render() {
return (
<div>
Term: <input placeholder="Search"
onKeyUp={this.onChangeFilterTerm} />
{this.filtered.map(item =>
<div key={item.index}>
<h5>{item.title}</h5>
<p>{item.description}</p>
</div>
)}
</div>
)
}
onChangeFilterTerm = value => {
this.filterTermValue = value.toString().toLowerCase();
console.log(this.filterTermValue)
}
}
decorate(Searchbar, {
filterTermValue: observable,
itemsList: observable,
filtered: computed,
onChangeFilterTerm: action
});
export default Searchbar
【问题讨论】:
标签: reactjs input filter mobx mobx-react