当前位置: 首页 > 知识库问答 >
问题:

前端 - 让输入框和表格实现联动效果,在获取数据源时做相应判断,为何获取不到数据了?

冀弘厚
2023-07-25
<el-table :data="tables" border stripe>        <el-table-column type="index" label="#"></el-table-column>        <el-table-column v-for="(item, index) in columnList" :key="index" :prop="item.prop"          :label="item.label"></el-table-column>      </el-table>
data () {    return {      inputContent: '',      searchContent: '',      allData: [],      columnList: [],      total: 1000,      currentPage: 1,      pageSize: 12    }  },
computed: {    // eslint-disable-next-line vue/return-in-computed-property    tables () {      const search = this.searchContent.toLowerCase()      // 判断:输入框没有输入值,那么标识变量同空      if (this.inputContent === '') {        // eslint-disable-next-line vue/no-side-effects-in-computed-properties        this.searchContent = ''        // eslint-disable-next-line vue/no-side-effects-in-computed-properties        this.currentPage = 1        // eslint-disable-next-line vue/no-side-effects-in-computed-properties        this.total = this.allData.length        // eslint-disable-next-line no-array-constructor        const result = new Array(this.allData, this.total)        return result      }      // 判断:如果输入框有值      if (search !== '') {        // 先filter()过滤出对象数组        // some()方法用来测试数组是否满足条件        // String 对象用于表示和操作字符序列        // toLowerCase():把字符串的数字全部转换为小写。这样在输入框中无论是大小写都无所谓,都能搜索到        // includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false        const newArr = this.allData.filter((dataNews) => {          return Object.values(dataNews).some((value) => {            return String(value).toLowerCase().includes(search)          })        })        // eslint-disable-next-line vue/no-side-effects-in-computed-properties        this.allData = newArr        const newArrLen = this.allData.filter((dataNews) => {          return Object.keys(dataNews).some(key => {            return String(dataNews[key]).toLowerCase().indexOf(search) > -1          })        }).length        // eslint-disable-next-line vue/no-side-effects-in-computed-properties        this.total = newArrLen        const result = [this.allData, this.total]        return result      }      return this.allData    }  },

共有1个答案

万修为
2023-07-25
methods: {  updateData() {    const search = this.inputContent.toLowerCase()    if (this.inputContent === '') {      this.searchContent = ''      this.currentPage = 1      this.total = this.allData.length    } else if (search !== '') {      const newArr = this.allData.filter((dataNews) => {        return Object.values(dataNews).some((value) => {          return String(value).toLowerCase().includes(search)        })      })      this.allData = newArr      const newArrLen = this.allData.filter((dataNews) => {        return Object.keys(dataNews).some(key => {          return String(dataNews[key]).toLowerCase().indexOf(search) > -1        })      }).length      this.total = newArrLen    }  }},computed: {  tables () {    return this.allData  }},watch: {  inputContent: {    handler() {      this.updateData()    },    immediate: true  }}
 类似资料:
  • 我有一个使用redux的应用程序 我也曾在本地获取数据。 在我的反应组件中,我使用来获取数据。但我什么也没得到。 如何在我的组件中获取数据? 演示:https://codesandbox.io/s/nervous-rosalind-lp16j?file=/src/App.js:242-328

  • 我想知道的是: 是否可以为本地宿主数据库获取对象? 类需要发布吗?还是像那样,只获得连接而不创建新类? 你能举个例子吗?

  • 我有一个由以下部分组成的项目: Rest API(带Spring) Web仪表板(使用Rest API管理数据) 客户端(获取数据并使用它) 现在我要问自己的是,如何确保客户机在通过web仪表板更新后立即获取新数据?每隔几秒钟抓取一次似乎不是正确的方法,套接字连接是一个好的解决方案吗? 如果你有任何想法,请告诉我,谢谢。

  • 问题内容: 我有一个文件,其中包含要在R中使用的1500个json对象。我已经能够将数据作为列表导入,但是在将其强制转换为有用的结构时遇到了麻烦。我想创建一个数据框,其中每个json对象包含一行,每个key:value对包含一列。 我用这个小的假数据集重新创建了我的处境: 数据的一些功能: 所有对象都包含相同数量的key:value对,尽管某些值是null 每个对象有两个非数字列(名称和组) 名称

  • vue3实现这样的表格,中间的动态数据该如何获取,数据库的列名是表格的行

  • 操作步骤 1.通过 tableID 实例化一个 TableObject 对象,操作该对象即相当于操作对应的数据表 let MyTableObject = new BaaS.TableObject(tableID) 参数说明 参数 类型 必填 说明 tableID Number 是 数据表 ID 2.指定 recordID 执行获取相应数据项操作 MyTableObject.get(recordID