vue组件自定义脚本
- 自定义脚本的使得vue组件的灵活度大大加强.
vue组件自定义脚本的组件数据交互例子:
普通vue组件
- 脚本支撑lodash 模板 参考:lodash的模板教程
脚本预设的变量: {cmp: 组件实例} - this变量等于组件的实例,可以通过该组件实例来实现界面上的数据传递.
一个Vue的button组件的为了让它支持popover 功能 自定义脚本列子:
<template>
<el-popover
placement="top-start"
title="<%= cmp.name%>"
width="200"
trigger="hover"
content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。">
<%= cmp.getVueHtml() %>
</el-popover>
</template>
<script>
let cmp = this;
export default cmp.getVueConfig()
</script>
效果图:
一个Vue的ElDescriptions组件的绑定数据源的数据的自定义的脚本
如果继承VueDbCmpBase 的组件还会附带,见VueDbCmpBase的源码:
/**
* vue自定义模板的参数传递函数 ,子组件可以根据需要定义返回的参数对象.
* @reutrn 返回脚本的内置参数对象. 默认:组件的实例 {cmp:组件实例,data: 数据源当前行的数据}
*/
doTempleteScriptParams(): object {
let ds = this.getDataSource();
let data = {}
if (ds && ds.getRows().length > 0) {
data = ds.getCurrentRow().getDatas();
} else {
data = {}
}
return {
cmp: this,
data: data
}
}
<template>
<el-radio-group v-model="size">
<el-radio label="">大型</el-radio>
<el-radio label="medium">中等</el-radio>
<el-radio label="small">小型</el-radio>
<el-radio label="mini">超小</el-radio>
</el-radio-group>
<el-descriptions class="margin-top" title="带边框列表" :column="3" :size="size" border>
<template slot="extra">
<el-button type="primary" size="small">组件的名称:<%-cmp.name%></el-button>
</template>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>
日期
</template>
<%-data.RIQ%>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-mobile-phone"></i>
名称
</template>
<%-data.MINGC%>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-location-outline"></i>
编号
</template>
<%-data.BIANH%>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-tickets"></i>
备注
</template>
<el-tag size="small">学校</el-tag>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-office-building"></i>
联系地址
</template>
江苏省苏州市吴中区吴中大道 1188 号
</el-descriptions-item>
</el-descriptions>
</template>
<script>
let cmp = this;
export default {
data () {
return {
size: ''
};
}
}
</script>
效果图:
参考
作者:admin 创建时间:2022-12-05 17:10
最后编辑:admin 更新时间:2024-10-17 08:28
最后编辑:admin 更新时间:2024-10-17 08:28