哈喽 大家好啊,最近遇到一个需求:
需求一:用<br>自定义换行,hover的时候title也需要使用自定义换行
然后我便想到了用<br>自定义换行,然后用v-html渲染,则就正常显示了
但是title只能用文本,然后我百度到其他博主写的用\n可以实现title换行,然后我就用替换字符进行替换,以下是效果图和代码:
(一)实现效果
(二)实现代码:
<div class="wrapClass" v-html="content" :title="replaceStr(content)"><div>{data() {return {content:"hhhh<br>oooo<br>ddsssss<br>ssss"}},computed:{},created() {},methods: {replaceStr(str) {return str.replace(/<br>/g,"\n"); }}
}
需求二:
显示一行用省略号展示,hover展示全部,然后自定义换行
相关代码:
<div class="wrapClass" :title="content">{{replaceStr(content)}}
<div>{data() {return {content:"hhhh\noooo\nddsssss\nssss" // 原文用/n自定义换行,title就可以换行了}},computed:{},created() {},methods: {replaceStr(str) {return str.replace(/\n/g," "); // 将\n替换成空字符串}}
}.wrapClass {white-space: nowrap; 让写的内容在一行显示,并不换行。 nowrap就是不换行的意思。overflow: hidden; 让写的内容部分的溢出部分隐藏。text-overflow: ellipsis; 让溢出的前一个文字显示省略...
}
(三)参考原文:
vue -- title属性换行_vue设置title换行-CSDN博客
正则替换字符串replace()方法超详细用法-CSDN博客