使用el-table组件时,对字段进行forEach循环:famatter时不生效

formatter不能使用forEach
    Func(row, column, cellValue, index) {
      const arr = this.regQueryPatternOptions
      for (let i = 0; i < arr.length; i++) {
        if (cellValue === arr[i].sdValue) {
          return arr[i].sdName
        }
      }
    },

原因:
第一个 formatter 方法使用了 ‘forEach’ 方法来遍历数组,但是 ‘forEach’ 循环中使用 “return” 并不能直接返回值给 “formatter” 函数。这是因为 “return” 语句只会退出当前的循环回调函数,而不会返回值给 “formatter” 函数。
使用 for 循环来返回就可以返回正常,因为没有循环回调函数。

好的,我理解你的问题了。对于这个问题,我可以给你一些思路和代码参考。具体实现可以根据你的需求进行调整。 首先,我们需要在 el-tree 组件中添加搜索功能。这个可以使用 el-input 组件进行实现。代码如下: ```html <el-input placeholder="输入关键字搜索" v-model="searchText" @input="handleSearch"></el-input> <el-tree :data="treeData" :props="defaultProps" :expand-on-click-node="false" :default-expand-all="false" :highlight-current="true" :filter-node-method="filterNode"></el-tree> ``` 在上面的代码中,我们添加了一个 el-input 组件用于输入搜索关键字,并且绑定了一个 searchText 变量用于存储搜索关键字。同,我们将 el-tree 组件的 filter-node-method 属性设置为 filterNode 方法,用于实现搜索功能。 接下来,我们需要编写 filterNode 方法来实现搜索功能。具体实现可以参考下面的代码: ```javascript methods: { filterNode(value, data) { if (!value) return true; return data.label.indexOf(value) !== -1; }, handleSearch(value) { this.searchText = value; this.$refs.tree.filter(value); if (!value) { this.$refs.tree.store.root.childNodes.forEach(node => { this.$refs.tree.store.setChecked(node.data, false); this.$refs.tree.store.setExpanded(node.data, false); }); } } } ``` 在上面的代码中,我们编写了 filterNode 方法来判断节点是否符合搜索条件。具体实现是判断节点的 label 是否包含搜索关键字。同,我们编写了 handleSearch 方法来处理搜索过程和搜索结果。当搜索结果为空,我们需要将所有节点关闭并且取消选中状态。 通过上面的代码,我们实现了在搜索为空,关闭所有节点的功能。当然,这只是一个简单的实现,你可以根据你的需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值