mirror of
https://github.com/vxcontrol/ncform.git
synced 2026-07-19 18:23:32 -04:00
refactor(label): Optimization code
This commit is contained in:
@@ -60,7 +60,7 @@
|
||||
properties: {
|
||||
label: {
|
||||
type: 'string',
|
||||
default: 'some text',
|
||||
default: 'ncform',
|
||||
ui: {
|
||||
widget: 'label'
|
||||
}
|
||||
@@ -78,7 +78,7 @@
|
||||
properties: {
|
||||
label: {
|
||||
type: 'string',
|
||||
value: 'some text',
|
||||
value: 'ncform, a nice form development way that generates form UIs and their interactions with just configuration.',
|
||||
ui: {
|
||||
widget: 'label'
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
}
|
||||
#demo .demo_item-wrapper > div:first-child {
|
||||
flex: 1;
|
||||
width: 33%;
|
||||
}
|
||||
#demo .demo_item-wrapper > div:first-child small {
|
||||
margin-top: 8px; display: block;
|
||||
@@ -31,4 +32,4 @@
|
||||
}
|
||||
.doc .el-submenu .el-menu-item {
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,8 @@
|
||||
<template>
|
||||
<el-tooltip
|
||||
class="ncform-label-wrap"
|
||||
:content="modelVal"
|
||||
placement="top"
|
||||
:disabled="mergeConfig.multiLine"
|
||||
>
|
||||
<label
|
||||
ref="label"
|
||||
:class="['ncform-label', mergeConfig.multiLine ? 'multi-line' : '']"
|
||||
:style="{ width: dynamicWidth }"
|
||||
>{{val}}</label>
|
||||
</el-tooltip>
|
||||
<label :title="mergeConfig.multiLine ? '' : val"
|
||||
ref="label"
|
||||
:class="['ncform-label', mergeConfig.multiLine ? 'multi-line' : '']"
|
||||
>{{val}}</label>
|
||||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
@@ -48,27 +40,13 @@
|
||||
multiLine: false // 是否多行显示 (当为false时,内容溢出时用...显示,然后鼠标移上去可显示完整的内容)
|
||||
},
|
||||
val: '',
|
||||
dynamicWidth: '100%'
|
||||
// mergeConfig: 请使用该值去绑定你的组件的属性,它包含了defaultConfig data和config props的值
|
||||
// modelVal:请使用该值来绑定实际的组件的model
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
setDynamicWidth() {
|
||||
const vm = this;
|
||||
// 不只使用css3的原因在于 内嵌ncform布局组件,此组件的父组件下有子组件具有浮动属性导致宽度继承失效,父组件宽度为0,只能靠子组件自行撑开宽度
|
||||
if (!vm.mergeConfig.multiLine && vm.modelVal !== '') {
|
||||
vm.$nextTick(() => {
|
||||
vm.dynamicWidth = `${this.$parent.$el.offsetWidth}px`;
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
const vm = this;
|
||||
vm.setDynamicWidth();
|
||||
vm.val = vm.modelVal;
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user