<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      vue vxe-table grid 通過(guò)配置 ajax 方式自動(dòng)請(qǐng)求數(shù)據(jù),適用于簡(jiǎn)單場(chǎng)景的列表

      vxe-table 通過(guò)配置 ajax 方式自動(dòng)請(qǐng)求數(shù)據(jù),適用于簡(jiǎn)單場(chǎng)景的列表

      當(dāng)系統(tǒng)中很多頁(yè)面都是簡(jiǎn)單列表時(shí),每次都要手動(dòng)去請(qǐng)求接口后再賦值,過(guò)程就會(huì)比較冗余繁瑣。解決方式一般就是將封裝一下。本章的方式是通過(guò) vxe-grid 配置 ajax 來(lái)實(shí)現(xiàn)自動(dòng)請(qǐng)求加載數(shù)據(jù),無(wú)需封裝組件,適用于通用簡(jiǎn)單列表。

      查看官網(wǎng):https://vxetable.cn/

      普通列表

      通過(guò) proxy-config.ajax.query 配置查詢接口

      Video_2025-07-17_150628-ezgif.com-video-to-gif-converter (1)

      <template>
        <div>
          <vxe-grid v-bind="gridOptions"></vxe-grid>
        </div>
      </template>
      
      <script lang="ts" setup>
      import { reactive } from 'vue'
      import type { VxeGridProps } from 'vxe-table'
      
      interface RowVO {
        id: number
        name: string
        nickname: string
        role: string
        sex: string
        age: number
        address: string
      }
      
      // 模擬后臺(tái)接口
      const findList = () => {
        console.log('調(diào)用查詢接口')
        return new Promise<RowVO[]>(resolve => {
          setTimeout(() => {
            const list = [
              { id: 10001, name: 'Test1', nickname: 'T1', role: 'Develop', sex: 'Man', age: 28, address: 'Shenzhen' },
              { id: 10002, name: 'Test2', nickname: 'T2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },
              { id: 10003, name: 'Test3', nickname: 'T3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },
              { id: 10004, name: 'Test4', nickname: 'T4', role: 'Designer', sex: 'Women', age: 23, address: 'test abc' },
              { id: 10005, name: 'Test5', nickname: 'T5', role: 'Develop', sex: 'Women', age: 30, address: 'Shanghai' },
              { id: 10006, name: 'Test6', nickname: 'T6', role: 'Designer', sex: 'Women', age: 21, address: 'Shenzhen' },
              { id: 10007, name: 'Test7', nickname: 'T7', role: 'Test', sex: 'Man', age: 29, address: 'Shenzhen' },
              { id: 10008, name: 'Test8', nickname: 'T8', role: 'Develop', sex: 'Man', age: 35, address: 'test abc' },
              { id: 10009, name: 'Test9', nickname: 'T9', role: 'Develop', sex: 'Man', age: 35, address: 'Shenzhen' },
              { id: 100010, name: 'Test10', nickname: 'T10', role: 'Develop', sex: 'Man', age: 35, address: 'Guangzhou' }
            ]
            resolve(list)
          }, 300)
        })
      }
      
      const gridOptions = reactive<VxeGridProps<RowVO>>({
        border: true,
        height: 500,
        proxyConfig: {
          // showLoading: false, // 關(guān)閉加載中
          ajax: {
            query: () => {
              // 默認(rèn)接收 Promise<RowVO[]>
              return findList()
            }
          }
        },
        columns: [
          { type: 'seq', width: 70 },
          { field: 'name', title: 'Name' },
          { field: 'nickname', title: 'Nickname' },
          { field: 'role', title: 'Role' },
          { field: 'address', title: 'Address', showOverflow: true }
        ]
      })
      
      </script>
      

      分頁(yè)列表

      分頁(yè)查詢跟列表查詢的配置是一模一樣的,區(qū)別就是多加一個(gè)分頁(yè)配置項(xiàng) page-config,以及接口響應(yīng)結(jié)果帶分頁(yè)信息

      Video_2025-07-17_150628-ezgif.com-video-to-gif-converter (2)

      <template>
        <div>
          <vxe-grid v-bind="gridOptions"></vxe-grid>
        </div>
      </template>
      
      <script lang="ts" setup>
      import { reactive } from 'vue'
      import type { VxeGridProps } from 'vxe-table'
      
      interface RowVO {
        id: number
        name: string
        nickname: string
        role: string
        sex: string
        age: number
        address: string
      }
      
      const list = [
        { id: 10001, name: 'Test1', nickname: 'T1', role: 'Develop', sex: 'Man', age: 28, address: 'Shenzhen' },
        { id: 10002, name: 'Test2', nickname: 'T2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },
        { id: 10003, name: 'Test3', nickname: 'T3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },
        { id: 10004, name: 'Test4', nickname: 'T4', role: 'Designer', sex: 'Women', age: 23, address: 'test abc' },
        { id: 10005, name: 'Test5', nickname: 'T5', role: 'Develop', sex: 'Women', age: 30, address: 'Shanghai' },
        { id: 10006, name: 'Test6', nickname: 'T6', role: 'Designer', sex: 'Women', age: 21, address: 'Shenzhen' },
        { id: 10007, name: 'Test7', nickname: 'T7', role: 'Test', sex: 'Man', age: 29, address: 'Shenzhen' },
        { id: 10008, name: 'Test8', nickname: 'T8', role: 'Develop', sex: 'Man', age: 35, address: 'test abc' },
        { id: 10009, name: 'Test9', nickname: 'T9', role: 'Develop', sex: 'Man', age: 35, address: 'Shenzhen' },
        { id: 100010, name: 'Test10', nickname: 'T10', role: 'Develop', sex: 'Man', age: 35, address: 'Guangzhou' },
        { id: 100011, name: 'Test11', nickname: 'T11', role: 'Develop', sex: 'Man', age: 49, address: 'Guangzhou' },
        { id: 100012, name: 'Test12', nickname: 'T12', role: 'Develop', sex: 'Women', age: 45, address: 'Shanghai' },
        { id: 100013, name: 'Test13', nickname: 'T13', role: 'Test', sex: 'Women', age: 35, address: 'Guangzhou' },
        { id: 100014, name: 'Test14', nickname: 'T14', role: 'Test', sex: 'Man', age: 29, address: 'Shanghai' },
        { id: 100015, name: 'Test15', nickname: 'T15', role: 'Develop', sex: 'Man', age: 39, address: 'Guangzhou' },
        { id: 100016, name: 'Test16', nickname: 'T16', role: 'Test', sex: 'Women', age: 35, address: 'Guangzhou' },
        { id: 100017, name: 'Test17', nickname: 'T17', role: 'Test', sex: 'Man', age: 39, address: 'Shanghai' },
        { id: 100018, name: 'Test18', nickname: 'T18', role: 'Develop', sex: 'Man', age: 44, address: 'Guangzhou' },
        { id: 100019, name: 'Test19', nickname: 'T19', role: 'Develop', sex: 'Man', age: 39, address: 'Guangzhou' },
        { id: 100020, name: 'Test20', nickname: 'T20', role: 'Test', sex: 'Women', age: 35, address: 'Guangzhou' },
        { id: 100021, name: 'Test21', nickname: 'T21', role: 'Test', sex: 'Man', age: 39, address: 'Shanghai' },
        { id: 100022, name: 'Test22', nickname: 'T22', role: 'Develop', sex: 'Man', age: 44, address: 'Guangzhou' }
      ]
      
      // 模擬后端接口
      const findPageList = (pageSize: number, currentPage: number) => {
        console.log(`調(diào)用查詢接口 pageSize=${pageSize} currentPage=${currentPage}`)
        return new Promise<{
          result: RowVO[]
          page: {
            total: number
          }
        }>(resolve => {
          setTimeout(() => {
            resolve({
              result: list.slice((currentPage - 1) * pageSize, currentPage * pageSize),
              page: {
                total: list.length
              }
            })
          }, 100)
        })
      }
      
      const gridOptions = reactive<VxeGridProps<RowVO>>({
        border: true,
        height: 500,
        pagerConfig: {}, // 啟用分頁(yè)
        proxyConfig: {
          // showLoading: false, // 關(guān)閉加載中
          // response: {
          //   result: 'result', // 配置響應(yīng)結(jié)果列表字段
          //   total: 'page.total' // 配置響應(yīng)結(jié)果總頁(yè)數(shù)字段
          // },
          ajax: {
            query: ({ page }) => {
              // 默認(rèn)接收 Promise<{ result: RowVO[], page: { total: 100 } }>
              return findPageList(page.pageSize, page.currentPage)
            }
          }
        },
        columns: [
          { type: 'seq', width: 70 },
          { field: 'name', title: 'Name' },
          { field: 'nickname', title: 'Nickname' },
          { field: 'role', title: 'Role' },
          { field: 'address', title: 'Address', showOverflow: true }
        ]
      })
      </script>
      
      posted @ 2025-07-21 15:41  可不簡(jiǎn)單  閱讀(154)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国内精品自线在拍| 亚洲精品欧美综合二区| 无码一区二区三区av在线播放| 久久久久久亚洲精品a片成人| 精品人妻伦一二三区久久| 无锡市| 亚洲二区中文字幕在线| 另类 专区 欧美 制服| 18禁午夜宅男成年网站| 久久99精品久久久久久齐齐 | 五月天国产成人av免费观看| 亚洲欧洲日产国码无码久久99| 成人午夜污一区二区三区| 国产欧美精品一区二区三区-老狼| 漂亮人妻被强中文字幕久久| 精品久久久久久亚洲综合网| 亚洲中文字幕久久精品码| 中国女人熟毛茸茸A毛片| 少妇高清一区二区免费看| 日韩一区二区三区高清视频| 亚洲国产中文字幕在线视频综合| 久久国产精品二国产人妻| 男女性高爱潮免费网站| 午夜高清福利在线观看| 亚洲欧美色综合影院| 91精品国产91热久久久久福利| 在线天堂中文新版www| 亚洲熟妇少妇任你躁在线观看无码| 日韩大片看一区二区三区| 免费无码一区无码东京热| 国产真实伦在线观看视频| 国产熟女精品一区二区三区| 高中生粉嫩无套第一次| 亚洲成av人片色午夜乱码| 男人扒女人添高潮视频| 中文字幕结果国产精品| 综合久青草视频在线观看| 欧美大bbbb流白水| 国产福利精品一区二区| 苏州市| 国产高清在线不卡一区|