>웹 프론트엔드 >프런트엔드 Q&A >vue 퍼지 쿼리 키워드 및 색상

vue 퍼지 쿼리 키워드 및 색상

WBOY
WBOY원래의
2023-05-27 17:43:39757검색

Vue는 매우 인기 있는 JavaScript 프레임워크이며 중요한 기능 중 하나는 개발자가 대화형 및 동적 웹 애플리케이션을 쉽게 구축할 수 있도록 하는 것입니다. Vue의 퍼지 쿼리 기능은 검색을 매우 편리하게 만들고 개발자가 사용자 경험을 개선하는 데도 도움이 될 수 있습니다. 이번 글에서는 Vue 퍼지 쿼리에서 키워드에 색상을 추가하는 구현 방법을 주로 소개하겠습니다.

퍼지 쿼리는 데이터 컬렉션에서 특정 조건(예: 텍스트, 숫자, 날짜 등)을 입력하여 조건과 일치하는 데이터를 검색할 수 있음을 의미합니다. Vue에서는 v-model을 사용하여 입력 상자를 바인딩한 다음 계산된 속성을 검색할 수 있습니다. 구체적인 구현은 다음과 같습니다.

<template>
  <div>
    <input type="text" v-model="keyword"/>
    <ul>
      <li v-for="item in filteredData">{{ highlight(item) }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data () {
    return {
      data: [
        {id: 1, name: 'Apple'},
        {id: 2, name: 'Banana'},
        {id: 3, name: 'Orange'},
        {id: 4, name: 'Watermelon'},
        {id: 5, name: 'Grape'},
      ],
      keyword: ''
    }
  },
  computed: {
    filteredData () {
      return this.data.filter(item => item.name.toLowerCase().includes(this.keyword.toLowerCase()))
    }
  },
  methods: {
    highlight (item) {
      const regex = new RegExp(this.keyword, 'gi')
      return item.name.replace(regex, `<span class="highlight">${this.keyword}</span>`)
    }
  }
}
</script>

<style>
.highlight {
  color: red;
}
</style>

위 코드에서는 먼저 입력 상자를 바인딩한 다음 v-for 명령어의 계산된 속성을 통해 데이터를 필터링하여 키워드와 일치하는 데이터를 필터링합니다. 다음으로 정규식을 사용하여 HTML 태그로 키워드를 래핑하고 스타일을 추가하는 하이라이트 방법을 정의했습니다. 마지막으로 정의된 스타일 시트에서 하이라이트 클래스의 색상을 설정합니다.

XSS 취약점을 방지하려면 Vue의 v-html 지시어 또는 DOMPurify 라이브러리를 사용하여 HTML 태그를 렌더링해야 합니다.

요약하자면 Vue의 퍼지 쿼리 기능은 매우 편리하여 검색이 매우 유연하며 키워드 및 색상 기능은 사용자 경험을 더욱 향상시킬 수 있습니다. 구현 방법도 비교적 간단합니다. 강조 표시 방법만 정의하면 됩니다. 개발자는 필요에 따라 변경하고 최적화할 수 있습니다.

위 내용은 vue 퍼지 쿼리 키워드 및 색상의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.