美文网首页
WEEX文本里的超链接

WEEX文本里的超链接

作者: 今天写明天改 | 来源:发表于2022-06-26 16:36 被阅读0次

    背景:

    时至今日,讨论WEEX只是因为之前的项目是采用这个写的。所以需要维护和开发一些小的功能,前段时间,来了个需求,一段文本里有几个字符点击之后要跳转。原以为这是个喝凉水的活儿,结果差点淹死。

    尝试方案1

    这种需求写惯了前段之后,第一个想法可能都差不多,一个<p>嵌套一个<a>

    <p>这是<a href="https://www.baidu.com">链接</a></p>
    

    但是这种方式在weex里行不通。因为<text>组件不支持子组件。
    于是我想到了weex的<richtext>组件,‘富文本组件可以内嵌 <span><a><image>。同时它也支持 <span><a><image> 的嵌套。’看到这句话我以为要一两句代码搞定呢。殊不知···

    迈向深渊

    官方提到了一句话‘富文本和它下面的 <span>, <a>, <image> 只支持有限的样式。’
    我看了下<span>, <a> 支持color、font-family、font-size、font-style,基本够用了,那就剩下一个点击了。引用原话是点击可以用通用事件的click或者itemclick。于是我高高兴兴写上代码准备运行

    <richText>这是<span @click="showRule">链接</span>哈哈。</richText> 
    

    结果 span单独换行了。文案显示成了三行。
    那来强制给弄成inline吧。于是加上试一试,还不好使,再看官方文档‘<span> and <a> 会被显示为 display:inline‘。我想是不是官方的文档不好用啊,于是把官方的例子放到playground里,
    例子简化如下

    <richtext>这是
           <span>link</span>
    </richtext>
    

    咦好用的,于是,我把例子复制粘贴到我的手机上。运行之后,我擦。手机上就不行。。怎么办,周围也没人会啊,那就只能再想个办法了。

    尝试方案2

    既然richtext里包span会换行,那么让span里包一个a呢

    <a href="http://.js">这是
            <span>TAOBAO</span>
    </a>
    

    然而,照样换行。但是有一点需要说的是这两个方案链接都是可点击的。

    尝试方案3

    前两个不行那就来第三个richtext里包一个a

    <richtext>这shi
      <a href="http://.js">链接
      </a>
    </richtext>
    

    做完之后run起来,不换行了,哈哈,刚笑了一半,脸上的笑就凝固了,,格式没有了,不仅字体上的格式没有应用上去,链接也不能点了···一个头两个大。

    解决方案n

    为什么这里写个n呢,因为那天我就是这几个标签来回修改,搞到晚上都很晚,我都忘记我试了多少方案的时候,灵光一现,有了个好主意,大家都知道WEEX是3端通用的,也就是,一个页面在各个端看起来是一样的,而WEEX的宽度又都是按照750px来的,那就意味着这文字也是不变的,于是哈哈,大家应该也知道怎么弄了。笨是笨了点,关键好用啊,以后做别的也有这个办法了。想通了这一点,动手刷刷刷一写,run一下,完美。

    总结

    有时候,一些笨的办法往往出奇制胜,另外就是少用一些不成熟的框架吧。比如这个事情,如果是用html,可能半分钟就好了,另外,问题虽然解决了,但是那天我激动的半夜没睡着。失眠了,第二天迷迷瞪瞪的,大家写代码一定要平常心啊。

    相关文章

      网友评论

          本文标题:WEEX文本里的超链接

          本文链接:https://www.haomeiwen.com/subject/xdlgvrtx.html