基于 React + Redux/Mobx 搞定复杂项目状态管理

360 阅读1分钟

基于 React + Redux/Mobx 搞定复杂项目状态管理

download

前端完成搜索并高亮文字的两种方式

在做文字处置的项目时经常会遇到搜索文字并高亮的需求,常见的完成方式有插入标签和贴标签两种。这两种方式适用于不同的场景,各有优劣。为了便当操作,直接起一个Vue项目,在里面演示。

插入标签的方式

简单做一个规划,handleSearch 中放主要逻辑

<script setup>
import { ref } from 'vue'
const text = ref('豫章故郡,洪都新府。星分翼轸,地接衡庐。襟三江而带五湖,控蛮荆而引瓯越。物华天宝,龙光射牛斗之墟;人杰地灵,徐孺下陈蕃之榻。雄州雾列,俊采星驰。台隍枕夷夏之交,宾主尽东南之美。都督阎公之雅望,棨戟遥临;宇文新州之懿范,襜帷暂驻。十旬休假,胜友如云;千里逢迎,宾客盈门。腾蛟起凤,孟学士之词宗;紫电青霜,王将军之武库。家君作宰,路知名区;童子何知,躬逢胜饯。')
const search = ref('')
const handleSearch = () => {
  console.log(search.value)
}
</script>
<template>
  <div class="editor">{{ text }}</div>
  <input type="text" v-model="search">
  <button @click="handleSearch">搜索</button>
</template>
<style scoped>
.editor {
  width: 200px;
  height: 200px;
  border: 1px solid #ddd;
  overflow: auto;
}
</style>
复制代码