vue的结构已经v-if v-else 的问题?

如下代码:

<div v-if="tabeldata.length == 0">

暂无数据

</div>

<div v-else>

<el-table></el-table>

</div>

<div >

匹配不到数据哦?

</div>

table表格数据是通过查找id,得出的,没调接口

现在是下拉框查找id 去 匹配表格id,如果匹配到就把数据放到table行里面,现在筛选下拉框id匹配不到就展示匹配不到数据哦?再次筛选下拉框id匹配到就返回匹配到的数据》》
请问这个如何实现这个功能

代码是这样的

handlesubmit(this: any) {

const filteredData = this.tableData.filter(v => v.tempName === this.tempName);

if (filteredData.length > 0) {

this.tableData = filteredData;

} else {

this.tableData = [...this.originalTableData]; // 如果没有匹配到数据,还原为原始数据

}

},


回答:

tableData.length === 0 时候,显示 "暂无数据";再用一个变量去存这个状态根据这个状态来去控制显示。

<template>

<div>

<div v-if="tableData.length === 0">

暂无数据

</div>

<div v-else-if="noMatch">

匹配不到数据哦?

</div>

<div v-else>

<el-table :data="tableData"></el-table>

</div>

</div>

</template>

<script>

export default {

data() {

return {

tempName: "",

tableData: [],

originalTableData: [],

noMatch: false,

};

},

methods: {

handleSubmit() {

const filteredData = this.originalTableData.filter(

(v) => v.tempName === this.tempName

);

if (filteredData.length > 0) {

this.tableData = filteredData;

this.noMatch = false;

} else {

this.noMatch = true;

this.tableData = [...this.originalTableData]; // 如果没有匹配到数据,还原为原始数据

}

},

},

};

</script>


回答:

直接在标签上加上v-else-if的判断就行吧
<div v-if="tabeldata.length == 0">

暂无数据

</div>
<div v-else-if="tabeldata.length > 0">

<el-table></el-table>

</div>
<div v-else-if="filteredData.length == 0">

匹配不到数据哦?

</div>

以上是 vue的结构已经v-if v-else 的问题? 的全部内容, 来源链接: utcz.com/p/934202.html

回到顶部