VUE 基础理解 data method el

<div id="vue">
    <h1>test: {{site}}</h1>
    <h1>url: {{url}}</h1>
    <h1>函数{{details()}}</h1>
</div>
<script type="text/javascript">
var data = {
    site: 'test',
    url: 'http://www.baidu.com',
    }
var vm = new Vue({
    el: '#vue',
    data,
methods: {
    details: function(){
        return `${this.site}1123`
    }
}

})
</script>

`

vue构造器中有个el的参数,它是 DOM 元素中的 id,在上面实例中id 为 vue :
意味着接下来 div 中的改动全部在以上指定的 div 内,外部不收影响.
data 用于定义属性
methods 用于定义函数
{{}} 用于输出对象属性和函数返回值

`

document.write(vm.$data === data) // true document.write(vm.$el === document.getElementById('vue')) // true

vue提供实例属性和方法,前缀$,用来区分用户定义的属性

### Vue3 中使用 `span-method` 实现 Element Plus 表格单元格合并 在 Vue3 和 Element Plus 组件库中,可以利用 `Table` 组件的 `span-method` 属性来实现表格内相同元素的自动合并。此方法接收一个函数作为参数,该函数定义如何处理行和列的跨越。 对于具体的实现方式,在构建页面逻辑时,通常会在组件内部维护一个用于记录哪些行应该被合并的数据结构,并通过监听数据变化更新这个结构。每当表格显示的数据发生改变时,都会触发相应的钩子重新计算合并信息[^2]。 下面是一个完整的示例代码片段展示如何基于特定条件(比如 ID 字段相等)来进行单元格合并: ```javascript <template> <el-table :data="tableData" border style="width: 100%" :span-method="objectSpanMethod"> <!-- 假设这里有一些表头配置 --> </el-table> </template> <script setup lang="ts"> import { ref, computed } from 'vue'; const tableData = [ // 初始化一些测试数据... ]; // 记录每一行需要跨多少行的信息数组 let spanArr = []; function useMergeCell() { let countMap = new Map(); function calcRowSpans(data) { data.forEach((item, index) => { if (!countMap.has(item.id)) { countMap.set(item.id, 1); spanArr[index] = 1; } else { spanArr[index] = 0; countMap.set(item.id, countMap.get(item.id) + 1); } }); Array.from(countMap.values()).forEach((value, i) => { if (value > 1 && value !== undefined) { spanArr[i] = value; } }); } return () => { calcRowSpans(tableData.value); // 当然这里的调用可能依赖于实际项目中的响应式机制 }; } useMergeCell(); // 调用一次初始化 const objectSpanMethod = ({ row, column, rowIndex, columnIndex }) => { if (columnIndex === 0) { const _row = spanArr[rowIndex]; const _col = _row > 0 ? 1 : 0; return { rowspan: _row, colspan: _col }; } }; </script> ``` 上述代码展示了怎样创建一个自定义 hook 函数 `useMergeCell()` 来动态调整 `spanArr[]` 数组的内容,进而影响最终渲染出来的表格布局。每次当基础数据集 `tableData` 发生变动时,都会执行一遍 `calcRowSpans()` 方法刷新合并状态[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值