我有一些代碼的小提琴設置。有一個用戶輸入的輸入字段。當用戶鍵入時,輸入值應檢查關鍵字。因此,如果任何字符與每個項目中的任何關鍵字匹配,則應返回該項目。因此,如果您鍵入“memb”,它將在結(jié)果數(shù)組中返回正確的項目。此外,如果您完成“成員”一詞,它會在您鍵入字符時起作用。但是,當您在第一個單詞之后移動到另一個單詞時,例如“時間”,它不會返回該項目,直到您完成該單詞的所有字符。當任何字符與任何術語單詞匹配時,如何讓它返回。class TodoApp extends React.Component { constructor(props) { super(props) this.list = [ { keywords:['member', 'support', 'life'], content: 'This is my life', }, { keywords:['time', 'working', 'life'], content: 'Cant stop working', }, { keywords:['ball'], content: 'Help me play ball', }, ]; } onHandleChange = (event) => { const { value } = event.target; const result = this.onSearch( value.toLowerCase()); console.log('result = ', result); } onSearch = (term) => { if (term.length < 3) return ''; return this.list.filter((item) => { return item.keywords.some(r => r.toLowerCase().includes(term) || term.includes(r.toLowerCase())); }); } render() { return ( <input onChange={this.onHandleChange}/> ) }}ReactDOM.render(<TodoApp />, document.querySelector("#app"))body { background: #20262E; padding: 20px; font-family: Helvetica;}#app { background: #fff; border-radius: 4px; padding: 20px; transition: all 0.2s;}input { padding: 10px; width: 400px;}li { margin: 8px 0;}h2 { font-weight: bold; margin-bottom: 15px;}.done { color: rgba(0, 0, 0, 0.3); text-decoration: line-through;}input { margin-right: 5px;}<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script><div id="app"></div>
根據(jù)用戶輸入匹配單詞
縹緲止盈
2021-06-30 07:07:49