tpframe2020
tpframe2020
  • 发布:2024-11-14 09:58
  • 更新:2024-11-15 15:52
  • 阅读:50

【报Bug】navigator 组件生成最终的代码包裹问题

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 专业版

HBuilderX类型: 正式

HBuilderX版本号: 4.29

浏览器平台: Chrome

浏览器版本: 最新版本

项目创建方式: HBuilderX

App下载地址或H5⽹址: http://recycle.tpframe.com/?page=cate

示例代码:
<navigator class="cate-card-item" hover-class="none" open-type="reLaunch" :url="">  
    <text class="cate-card-item-name">{{cate.name}}</text>  
</navigator>

操作步骤:
<uni-navigator class="cate-card-item">  
      <a class="navigator-wrap" url="">  
      </a>  
</uni-navigator>

预期结果:
<a class="cate-card-item" url="">  
      直接包裹内容  
</a>  

实际结果:

<uni-navigator class="cate-card-item">  
      <a class="navigator-wrap" url="">  
      </a>  
</uni-navigator>

bug描述:

<navigator class="cate-card-item" hover-class="none" open-type="reLaunch" :url="">  
    <text class="cate-card-item-name">{{cate.name}}</text>  
</navigator>

希望生成出来的代码就是a标签包裹的,以前是,现在不是,现在生成出来的是这样的

<uni-navigator class="cate-card-item">  
      <a class="navigator-wrap" url="">  
      </a>  
</uni-navigator>

这显示不符合逻辑,原本我想navigator的类直接作为容器,现在生成出来的代码里面又嵌套了一个a标签,flex布局就会有问题的呀,不然就不能用navigator,只能用事件的方式来代码。

2024-11-14 09:58 负责人:无 分享
已邀请:
tpframe2020

tpframe2020 (作者) - 免费提供大量开源程序

对比了一下,以前的版本,a是包裹在外面的,现在包裹在里面了,乱了乱了

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

uni-app-x上线的时候确实有相关的调整,无论a标签在外面还是在里面都会影响flex布局只是影响范围不一样。你可以给navigator配置render-link属性为false这样不会产生额外的a标签

  • tpframe2020 (作者)

    本身这样不合理,如果a标签在外面,对本身的flex布局没有影响,因为容器直接作用于里面的内容了,如果a包裹在里面,容器上的flex布局里面就有a标签,这样就乱了,以前的项目都是这样写的,这样一变,全都要改,为什么要改成这样的呢,这样有什么好处,不然就不能随便调整呀,你觉得呢

    2024-11-15 17:35

  • DCloud_uniCloud_WYQ

    回复 tpframe2020: a标签在外面不会影响navigator里面的flex布局,但是会影响navigator父元素的flex布局,另外a标签在外面还有一个影响就是navigator组件的根节点实际元素是a这和其他内置组件不一致了,实际上不符合大多数情况下的预期

    2024-11-16 12:05

  • DCloud_uniCloud_WYQ

    回复 tpframe2020: 如果你想简单的处理这个问题,不想在每个组件上加render-link,还有更简单的解决方案。

    全局加上下面这样的样式


    navigator a {  
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: inherit;
    align-items: inherit;
    align-content: inherit;
    justify-content: inherit;
    }

    2024-11-16 12:11

要回复问题请先登录注册