国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

劃詞標(biāo)注或打標(biāo)簽的實(shí)現(xiàn)方案

2023-06-09 20:14 作者:Cpp程序員  | 我要投稿

我們有很多業(yè)務(wù)場景需要對文字打標(biāo)簽,有的直接劃詞,有的需要打標(biāo)簽,比如下面的動圖展示。對實(shí)現(xiàn)思路做個總結(jié)

保存數(shù)據(jù)展示


start?起始位置(包含)
end?結(jié)束位置(不包含)
label?打的標(biāo)簽
text?劃選的為本

實(shí)現(xiàn)思路:基于vue的數(shù)據(jù)驅(qū)動操作,不需要關(guān)心dom,只需操作數(shù)據(jù)即可

1.將text文本拆分成,一個字一個span

2.給文字加mouseup事件,通過getSelection的方法,可以非常方便的獲取到對應(yīng)的anchorNode和focusNode,從而獲取到start和end

3.渲染下劃線:根據(jù)劃詞的數(shù)據(jù)labels,使用一個redWordMap,只要是有的(start-end的數(shù)據(jù)),都設(shè)為true,然后在模板中給存在redWordMap中的數(shù)據(jù)加red樣式

4.渲染標(biāo)注label:根據(jù)劃詞的數(shù)據(jù)labels,使用一個tipWordMap,給start的數(shù)據(jù)設(shè)置數(shù)據(jù),然后在模板中給存在tipWordMap中的數(shù)據(jù)加sub

把模板寫好,數(shù)據(jù)造好后,怎么玩都只要操作數(shù)據(jù)就行了,非常方便。比傳統(tǒng)的操作dom,好用的多。
不過這種實(shí)現(xiàn)方案只適合數(shù)據(jù)不是非常多,測試萬字是OK的,但是比如幾十萬字,可能會存在性能問題,結(jié)合業(yè)務(wù)場景,斟酌使用。


劃詞標(biāo)注或打標(biāo)簽的實(shí)現(xiàn)方案的評論 (共 條)

分享到微博請遵守國家法律
斗六市| 区。| 樟树市| 道孚县| 融水| 仙游县| 临漳县| 南皮县| 临湘市| 高淳县| 普宁市| 闸北区| 舟曲县| 陇南市| 手游| 女性| 巩义市| 赤城县| 桑植县| 吉水县| 佛山市| 丹巴县| 兴仁县| 昌都县| 寻乌县| 枣阳市| 定兴县| 府谷县| 惠州市| 普格县| 洛宁县| 甘洛县| 含山县| 海阳市| 兴和县| 高邑县| 承德市| 志丹县| 洪泽县| 綦江县| 灵武市|