Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
T treasure
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 12
    • Issues 12
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • FE
  • treasure
  • Issues
  • #104

Closed
Open
Created Sep 19, 2022 by JayChen@JayChenOwner

lhb-ui-lib-mobile 缺少默认componentTagName的注入。

背景

部分需要使用emiter的组件,在使用名称非 LCompone时,会出现异常如下

<!-- 对账单项 -->
<template>
  <Collapse v-model="activeNames" accordion>
    <CollapseItem title="面板1" name="1">
      <div>我是面板1内容</div>
      <div>我是面板1内容第二行</div>
      <div>我是面板1内容第三行</div>
    </CollapseItem>
  </Collapse>
</template>

<script lang="ts">
import { Vue, Component } from 'vue-property-decorator';
import { Collapse, CollapseItem } from '@lhb/ui';

@Component({
  components: {
    Collapse,
    CollapseItem,
  }
})

export default class StatementDateItem extends Vue {

  /* props */

  /* data */
  private activeNames = []

  /* method */

}

</script>

<style lang="less" scoped>

</style>

问题追踪后,发现做如下修改即可用

import { Collapse as LCollapse, CollapseItem as LCollapseItem } from '@lhb/ui';

原因

image componentName这套机制并没有被使用,同时我们自身的机制也不适配,所以通过添加一个额外参数来承载componentName的同样的功能

解决方案

通过对emitter.js改造后,目前只需要在在父级组件内添加如下代码即可

data() {
  return {
    lhbComponentName: 'LCollapse', // 用以承载componentTag,不可修改
    ...
  }
}
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking