首页 > 其他分享 >划词标注或打标签的实现方案

划词标注或打标签的实现方案

时间:2023-06-09 17:23:02浏览次数:29  
标签:end 标签 start 划词 数据 模板 标注

我们有很多业务场景需要对文字打标签,有的直接划词,有的需要打标签,比如下面的动图展示。对实现思路做个总结

保存数据展示


start 起始位置(包含)
end 结束位置(不包含)
label 打的标签
text 划选的为本

实现思路:基于vue的数据驱动操作,不需要关心dom,只需操作数据即可

1.将text文本拆分成,一个字一个span

2.给文字加mouseup事件,通过getSelection的方法,可以非常方便的获取到对应的anchorNode和focusNode,从而获取到start和end

3.渲染下划线:根据划词的数据labels,使用一个redWordMap,只要是有的(start-end的数据),都设为true,然后在模板中给存在redWordMap中的数据加red样式

4.渲染标注label:根据划词的数据labels,使用一个tipWordMap,给start的数据设置数据,然后在模板中给存在tipWordMap中的数据加sub

把模板写好,数据造好后,怎么玩都只要操作数据就行了,非常方便。比传统的操作dom,好用的多。
不过这种实现方案只适合数据不是非常多,测试万字是OK的,但是比如几十万字,可能会存在性能问题,结合业务场景,斟酌使用。

标签:end,标签,start,划词,数据,模板,标注
From: https://www.cnblogs.com/webhmy/p/17469775.html

相关文章

  • 3、Docker镜像管理(下载、删除、打标签、导出导入)
    镜像管理docker镜像是由一层一层的文件系统累积起来的容器的组成最下面:bootfs,引导文件系统,在镜像中不存在,用的是宿主机的内核然后是:rootfs,根文件系统,如centos/ubuntu接着:镜像(jdk)接着:镜像(tomcat)最后:可写容器(container)除了可写层,其他都是只读的。这种情况可以复用,如根文件......
  • VUE | Element组件库的 el-collapse 标签的用法
    Collapse折叠面板:通过折叠面板收纳内容区域。1.基础用法可以折叠展开多个面板,面板之间互不影响。示例代码<el-collapsev-model="activeNames"@change="handleChange"><el-collapse-itemtitle="一致性Consistency"name="1"><div>与现实生活......
  • 简易java分页标签
    简易java分页标签1,标签的实现类NumenTag.javajava代码 1.importjava.util.ArrayList;2.importjava.util.HashMap;3.importjava.util.List;4.importjava.util.Map;5.6.importjavax.servlet.jsp.JspException;7.impor......
  • mybatis if标签的判断是否等于1,0
    正确写法:<iftest="xxx=1">或者<iftest="xxx='1'.toString()">或者<iftest='xxx="1"'>错误写法<iftest="xxx='1'">如果判断条件是数字,则不能加单引号,否则将会不生效! 拓展:mybatis源码中,会把......
  • Echarts 折线图y轴标签值太长时显示不全的解决办法
    option={...yAxis:{type:'value',name:'营业额(元)',axisTick:{inside:true},scale:true,axisLabel:{margin:2,formatter:function(va......
  • UE(UltraEdit)窗口展示的时候,变成了下拉,如何解决(ue如何显示所有标签)
    电脑重装后,UE窗口的标签默认变成了默认下拉形式的,使用非常不方便,调整会原来的平铺形式方法:高级-->>设置-->文件标签操作---勾选复现 ......
  • 标注BIO-精灵标注助手
    目录准备待标注数据将待标数据生成文件数据标注下载标注软件创建项目标注数据导出数据ANN转BIO准备待标注数据创建raw_data.txt待标注数据如何预防高血压?高血压的防治高血压的防治我是小三阳,有糖尿病,高血脂,我该怎么吃药?糖尿病患者能吃减肥药吗.糖尿病的的危害,糖尿病怎样......
  • PADS尺寸标注选不中怎么解决
    1.点开层,找到尺寸标注对应的显示层,打上勾即可  ......
  • GORM支持的全部标签
    column:指定数据库中的字段名,例如:column:name。type:指定数据库中的字段类型,例如:type:varchar(255)。size:指定字段的大小,例如:size:255。primaryKey:指定该字段为主键,例如:primaryKey。autoIncrement:指定该字段自增,例如:autoIncrement。default:指定该字段的默认值,例如:defaul......
  • 使用类型标注
    有时PyCharm无法判断变量类型,此时PyCharm自动补全功能失效。使用类型标注来告诉PyCharm变量类型,从而使PyCharm提供自动补全。型标注的格式:变量名:类型=值age:int=24#定义一个变量age,它的类型为int,值为24deftest(name:str,age:int=25,other_info:dict=None):......