Можем ли мы получить все значения li, используя React Refs на его родительском элементе UL? например, прямые ссылки или дочерние элементы типа ???
Я ожидаю сделать следующее, используя React Ref.
let listItem = getElementsByTagName('li');
let anchor;
let listAnchorVal;
for(let i = 0; i < listItem.length; i++){
anchor = listItem[i].getElementsByTagName("a")[0];
listAnchorVal= anchor.textContent || anchor.innerText;
}
Мой код React ниже
const listItems = React.createRef();
const handleKeyUp = () => {
console.log(listItems.current.value) :(
};
return (
<div>
<input type="text" className="list-filter-input" onKeyUp={handleKeyUp} placeholder="Search names...." />
<span style={{position:"absolute", right:"925px", marginTop:"1.5%"}}><i className="fa fa-fw fa-search"></i></span>
<ul className="list-filter-ul" ref={listItems}>
<li><a href="#">Deepak</a></li>
<li><a href="#">Mytidbit</a></li>
<li><a href="#">Hello</a></li>
<li><a href="#">World</a></li>
<li><a href="#">Chris</a></li>
<li><a href="#">Bestie</a></li>
<li><a href="#">Sugar</a></li>
</ul>
</div>
Это фильтр списка, который я пытаюсь реализовать.
onKeyUp при вводе, я хочу sh сделать следующее. Считаете ли вы, что использование состояния для значений li для достижения этого фильтра неизбежно? Я думаю о других возможностях, кроме использования состояния.
onKeyUp(e){
listItemValues.filter(val=>{
return val.toLowerCase().includes(e.target.value.toLowerCase()))
}
}