uni-app 4.32-alpha 鸿蒙系统 picker组件名称超长未显示全应使用省略号

发布于 1周前 作者 htzhanglong 来自 Uni-App

uni-app 4.32-alpha 鸿蒙系统 picker组件名称超长未显示全应使用省略号

信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 11
HBuilderX Alpha
HBuilderX版本号 4.32
手机系统 HarmonyOS NEXT
手机版本号 HarmonyOS NEXT Developer Beta2
手机厂商 华为
手机机型 mate60
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

示例代码:

<picker  
class="flex-1 text-right"  
mode="selector"  
range="termList"
range-key="'nameShow'"
value="termIndex"
    @change="selectTerm">
    <text class="">{{termList[termIndex].nameShow}}</text>
</picker>  
termIndex: 0,
termList: [
{nameShow: 'aa', },
{nameShow: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbggggggggggggggggggggggggggggggg', },
{nameShow: 'cc', },
]

操作步骤:

4.32-alpha 鸿蒙系统 picker组件,名称超长没有显示全,应该省略号显示

预期结果:

省略号显示

实际结果:

未显示全

bug描述:

4.32-alpha 鸿蒙系统 picker组件,名称超长没有显示全,应该省略号显示
附件1为ios, 附件2为鸿蒙系统展示



更多关于uni-app 4.32-alpha 鸿蒙系统 picker组件名称超长未显示全应使用省略号的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 4.32-alpha 鸿蒙系统 picker组件名称超长未显示全应使用省略号的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在uni-app 4.32-alpha版本中,如果鸿蒙系统上的picker组件名称超长未显示全,可以使用CSS样式和JavaScript逻辑结合的方式来实现名称超长时显示省略号的效果。以下是一个示例代码,展示了如何实现这一功能。

1. 修改picker组件的样式

首先,通过CSS样式来限制picker组件中文本的显示宽度,并在超出时显示省略号。

<template>
  <view class="container">
    <picker mode="selector" :range="items" @change="onPickerChange">
      <view class="picker-item">{{selectedItem}}</view>
    </picker>
  </view>
</template>

<style scoped>
.container {
  padding: 20px;
}

.picker-item {
  width: 200px; /* 根据需要调整宽度 */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border: 1px solid #ddd;
  padding: 10px;
  background-color: #fff;
}
</style>

2. 定义数据和方法

在JavaScript部分,定义picker组件的数据和方法。

<script>
export default {
  data() {
    return {
      items: [
        '非常长的选项名称需要显示省略号1',
        '非常长的选项名称需要显示省略号2',
        '非常长的选项名称需要显示省略号3',
        // 更多选项...
      ],
      selectedIndex: 0,
      selectedItem: ''
    };
  },
  methods: {
    onPickerChange(e) {
      this.selectedIndex = e.detail.value;
      this.selectedItem = this.items[this.selectedIndex];
    },
    updateSelectedItem() {
      // 初始化时确保选中项显示正确
      this.selectedItem = this.items[this.selectedIndex];
    }
  },
  mounted() {
    // 组件挂载后初始化选中项
    this.updateSelectedItem();
  }
};
</script>

3. 运行和测试

将上述代码放入你的uni-app项目中,并运行到鸿蒙系统上进行测试。你应该会看到,当picker组件的选项名称超过设定的宽度时,会自动显示省略号。

注意事项

  • 确保picker组件的mode属性设置为selector,因为示例代码是基于选择器的。
  • 根据实际需要调整.picker-itemwidth属性。
  • 如果picker组件的样式被其他全局样式覆盖,可能需要增加CSS选择器的优先级,例如使用!important标记。

通过这种方式,你可以确保在鸿蒙系统上,uni-app的picker组件在名称超长时能够正确显示省略号。

回到顶部