伊人久久大香线蕉综合影视_日韩精品少妇无码受不了_71pao成人国产永久免费视频_国产伦片中文免费观看_国产高清无码麻豆精品_九色综合伊人久久富二代_日韩黄色精品_日韩A∨精品日韩精品无码

封裝element-ui表格

2020-7-30    seo達人

表格需求

一般管理系統(tǒng)對表格會有以下需求


可以分頁(需要有分頁條)

可以多選(表格帶復(fù)選框)

頂部需要加一些操作按鈕(新增,刪除等等)

表格每行行尾有操作按鈕

表格行可以編輯

如下圖為一個示例表格




如果我們直接使用element-ui提供的組件的話,那么開發(fā)一個這樣的表格就需要使用到以下內(nèi)容


需要使用表格的插槽功能,開發(fā)每一行的按鈕

需要通過樣式調(diào)整頂部按鈕,表格,分頁條的布局樣式

需要監(jiān)聽分頁的事件然后去刷新表格數(shù)據(jù)

頂部按鈕或操作按鈕如果需要獲取表格數(shù)據(jù),需要調(diào)用表格提供的api

對于有行編輯的需求,還需要通過插槽去渲染行編輯的內(nèi)容,同時要控制行編輯的開關(guān)

不僅僅開發(fā)表格比較麻煩,而且還要考慮團隊協(xié)作,如果每個人實現(xiàn)表格的方式存在差別,那么可能后期的維護成本也會變得很高。那怎么辦呢?


項目安裝

安裝插件

在使用element-ui的項目中,可以通過以下命令進行安裝


npm install vue-elementui-table -S

在項目中使用

在main.js中添加以下代碼


import ZjTable from 'vue-element-table'


Vue.use(ZjTable)

然后即可像下文中的使用方式進行使用


表格配置

為了滿足團隊快速開發(fā)的需要,小編對上面提出來的需求進行了封裝,然后使用的時候,開發(fā)人員只需要配置一些JSON便可以完成以上功能的開發(fā)。


基礎(chǔ)配置

一個基礎(chǔ)的表格包含了數(shù)據(jù)和列信息,那么如何用封裝的表格去配置呢?


<template>

 <zj-table

   :columns="columns"

   :data="data"

   :pagination="false"

 />

</template>

<script>

export default {

 data() {

   return {

     // 表格的列信息, 數(shù)組每一項代表一個字段,可以使用element 列屬性的所有屬性,以下僅為示例

     columns: Object.freeze([

       {

         // 表頭顯示的文字

         label: '姓名',

         // 對應(yīng)數(shù)據(jù)里面的字段

         prop: 'name'

       },

       {

         label: '性別',

         prop: 'sex',

         // 格式化表格,與element-ui 的表格屬性相同

         formatter(row, column, cellValue) {

           return cellValue === 1 ? '男' : '女'

         }

       },

       {

         label: '年齡',

         prop: 'age'

       }

     ]),

     data: [

       {

         name: '子君',

         sex: 1,

         age: 18

       }

     ]

   }

 }

}

</script>

通過上面的配置,就可以完成一個基礎(chǔ)表格的開發(fā),完整代碼見 https://github.com/snowzijun/vue-element-table/blob/master/example/views/demo/base.vue,效果如下圖所示




表格默認會顯示復(fù)選框,也可以通過配置selectable屬性來關(guān)閉掉


添加分頁

簡單的表格用封裝之后的或未封裝的開發(fā)工作量區(qū)別并不大,我們繼續(xù)為表格添加上分頁


<template>

   <!--

   current-page.sync 表示頁碼, 添加上 .sync 在頁碼發(fā)生變化時自動同步頁碼

   page-size.sync 每頁條數(shù)

   total  總條數(shù)

   height="auto" 配置height:auto, 表格高度會根據(jù)內(nèi)容自動調(diào)整,如果不指定,表格將保持充滿父容器,同時表頭會固定,不跟隨滾動條滾動

   @page-change 無論pageSize currentPage 哪一個變化,都會觸發(fā)這個事件

 -->

 <zj-table

   v-loading="loading"

   :columns="columns"

   :data="data"

   :current-page.sync="currentPage"

   :page-size.sync="pageSize"

   :total="total"

   height="auto"

   @page-change="$_handlePageChange"

 />

</template>

<script>

export default {

 data() {

   return {

     columns: Object.freeze([

       // 列字段與上例一樣,此處省略

     ]),

     data: [],

     // 當(dāng)前頁碼

     currentPage: 1,

     // 每頁條數(shù)

     pageSize: 10,

     // 總條數(shù)

     total: 0,

     // 是否顯示loading

     loading: false

   }

 },

 created() {

   this.loadData()

 },

 methods: {

   // 加載表格數(shù)據(jù)

   loadData() {

     this.loading = true

     setTimeout(() => {

       // 假設(shè)總條數(shù)是40條

       this.total = 40

       const { currentPage, pageSize } = this

       // 模擬數(shù)據(jù)請求獲取數(shù)據(jù)

       this.data = new Array(pageSize).fill({}).map((item, index) => {

         return {

           name: `子君${currentPage + (index + 1) * 10}`,

           sex: Math.random() > 0.5 ? 1 : 0,

           age: Math.floor(Math.random() * 100)

         }

       })

       this.loading = false

     }, 1000)

   },

   $_handlePageChange() {

     // 因為上面設(shè)置屬性指定了.sync,所以這兩個屬性會自動變化

     console.log(this.pageSize, this.currentPage)

     // 分頁發(fā)生變化,重新請求數(shù)據(jù)

     this.loadData()

   }

 }

}

</script>

完整代碼請參考 https://github.com/snowzijun/vue-element-table/blob/master/example/views/demo/pagination.vue


通過封裝,表格將自帶分頁功能,通過上面代碼,實現(xiàn)效果如下所示,是不是變得簡單了一些。接下來我們繼續(xù)給表格添加按鈕




添加頂部按鈕

表格上面可能會有新增,刪除等等按鈕,怎么辦呢,接下來我們繼續(xù)通過配置去添加按鈕


<template>

 <zj-table

   :buttons="buttons"

 />

</template>

<script>

export default {

 data() {

   return {

     buttons: Object.freeze([

       {

         // id 必須有而且是在當(dāng)前按鈕數(shù)組里面是唯一的

         id: 'add',

         text: '新增',

         type: 'primary',

         icon: 'el-icon-circle-plus',

         click: this.$_handleAdd

       },

       {

         id: 'delete',

         text: '刪除',

         // rows 是表格選中的行,如果沒有選中行,則禁用刪除按鈕, disabled可以是一個boolean值或者函數(shù)

         disabled: rows => !rows.length,

         click: this.$_handleRemove

       },

       {

         id: 'auth',

         text: '這個按鈕根據(jù)權(quán)限顯示',

         // 可以通過返回 true/false來控制按鈕是否顯示

         before: (/** rows */) => {

           return true

         }

       },

       // 可以配置下拉按鈕哦

       {

         id: 'dropdown',

         text: '下拉按鈕',

         children: [

           {

             id: 'moveUp',

             text: '上移',

             icon: 'el-icon-arrow-up',

             click: () => {

               console.log('上移')

             }

           },

           {

             id: 'moveDown',

             text: '下移',

             icon: 'el-icon-arrow-down',

             disabled: rows => !rows.length,

             click: () => {

               console.log('下移')

             }

           }

         ]

       }

     ])

   }

 },

 created() {},

 methods: {

   // 新增

   $_handleAdd() {

     this.$alert('點擊了新增按鈕')

   },

   // 頂部按鈕會自動將表格所選的行傳出來

   $_handleRemove(rows) {

     const ids = rows.map(({ id }) => id)

     this.$alert(`要刪除的行id為${ids.join(',')}`)

   },

   // 關(guān)注作者公眾號

   $_handleFollowAuthor() {}

 }

}

</script>

表格頂部可以添加普通的按鈕,也可以添加下拉按鈕,同時還可以通過before來配置按鈕是否顯示,disabled來配置按鈕是否禁用,上面完整代碼見 https://github.com/snowzijun/vue-element-table/blob/master/example/views/demo/button.vue


通過上面的代碼就可以配置出下面的表格,是不是很簡單呢?




表格頂部可以有按鈕,行尾也是可以添加按鈕的,一起來看看


行操作按鈕

一般我們會將一些單行操作的按鈕放在行尾,比如編輯,下載等按鈕,那如何給行尾配置按鈕呢?


<template>

 <zj-table

   :columns="columns"

 />

</template>

<script>

export default {

 data() {

   return {

     columns: Object.freeze([

       {

         // 可以指定列的寬度,與element-ui原生用法一致

         width: 220,

         label: '姓名',

         prop: 'name'

       },

       // 行編輯按鈕,在表格末尾出現(xiàn),自動鎖定右側(cè)

       {

         width: 180,

         label: '操作',

         // 通過 actions 指定行尾按鈕

         actions: [

           {

             id: 'follow',

             text: '關(guān)注作者',

             click: this.$_handleFollowAuthor

           },

           {

             id: 'edit',

             text: '編輯',

             // 可以通過before控制按鈕是否顯示,比如下面年齡四十歲的才會顯示編輯按鈕

             before(row) {

               return row.age < 40

             },

             click: this.$_handleEdit

           },

           {

             id: 'delete',

             text: '刪除',

             icon: 'el-icon-delete',

             disabled(row) {

               return row.sex === 0

             },

             // 為了拿到this,這里需要用箭頭函數(shù)

             click: () => {

               this.$alert('女生被禁止刪除了')

             }

           }

         ]

       }

     ])

   }

 },

 methods: {

   // 關(guān)注作者公眾號

   $_handleFollowAuthor() {

           console.log('微信搜索【前端有的玩】,這是對小編最大的支持')

   },

   /**

    * row 這一行的數(shù)據(jù)

    */

   $_handleEdit(row, column) {

     this.$alert(`點擊了姓名為【${row.name}】的行上的按鈕`)

   }

 }

}

</script>

行操作按鈕會被凍結(jié)到表格最右側(cè),不會跟隨滾動條滾動而滾動,上面完整代碼見, https://github.com/snowzijun/vue-element-table/blob/master/example/views/demo/button.vue


通過上面的代碼就可以完成以下效果




最后再來一起看看行編輯


行編輯

比如上例,我希望點擊行尾的編輯按鈕的時候,可以直接在行上面編輯用戶的姓名與性別,如何配置呢?


<template>

 <zj-table

   ref="table"

   :columns="columns"

   :data="data"

 />

</template>

<script>

export default {

 data() {

   return {

     columns: Object.freeze([

       {

         label: '姓名',

         prop: 'name',

         editable: true,

         field: {

           componentType: 'input',

           rules: [

             {

               required: true,

               message: '請輸入姓名'

             }

           ]

         }

       },

       {

         label: '性別',

         prop: 'sex',

         // 格式化表格,與element-ui 的表格屬性相同

         formatter(row, column, cellValue) {

           return cellValue === '1' ? '男' : '女'

         },

         editable: true,

         field: {

           componentType: 'select',

           options: [

             {

               label: '男',

               value: '1'

             },

             {

               label: '女',

               value: '0'

             }

           ]

         }

       },

       {

         label: '年齡',

         prop: 'age',

         editable: true,

         field: {

           componentType: 'number'

         }

       },

       {

         label: '操作',

         actions: [

           {

             id: 'edit',

             text: '編輯',

             // 如果當(dāng)前行啟用了編輯,則不顯示編輯按鈕

             before: row => {

               return !this.editIds.includes(row.id)

             },

             click: this.$_handleEdit

           },

           {

             id: 'save',

             text: '保存',

             // 如果當(dāng)前行啟用了編輯,則顯示保存按鈕

             before: row => {

               return this.editIds.includes(row.id)

             },

             click: this.$_handleSave

           }

         ]

       }

     ]),

     data: [

       {

         // 行編輯必須指定rowKey字段,默認是id,如果修改為其他字段,需要給表格指定row-key="字段名"

         id: '0',

         name: '子君',

         sex: '1',

         age: 18

       },

       {

         // 行編輯必須指定rowKey字段,默認是id,如果修改為其他字段,需要給表格指定row-key="字段名"

         id: '1',

         name: '子君1',

         sex: '0',

         age: 18

       }

     ],

     editIds: []

   }

 },

 methods: {

   $_handleEdit(row) {

     // 通過調(diào)用 startEditRow 可以開啟行編輯

     this.$refs.table.startEditRow(row.id)

     // 記錄開啟了行編輯的id

     this.editIds.push(row.id)

   },

   $_handleSave(row) {

     // 點擊保存的時候,通過endEditRow 結(jié)束行編輯

     this.$refs.table.endEditRow(row.id, (valid, result, oldRow) => {

       // 如果有表單驗證,則valid會返回是否驗證成功

       if (valid) {

         console.log('修改之后的數(shù)據(jù)', result)

         console.log('原始數(shù)據(jù)', oldRow)

         const index = this.editIds.findIndex(item => item === row.id)

         this.editIds.splice(index, 1)

       } else {

         // 如果校驗失敗,則返回校驗的第一個輸入框的異常信息

         console.log(result)

         this.$message.error(result.message)

       }

     })

   }

 }

}

</script>

不需要使用插槽就可以完成行編輯,是不是很開心。上述完整代碼見 https://github.com/snowzijun/vue-element-table/blob/master/example/views/demo/row-edit.vue


效果如下圖所示:




其他功能

除了上面的功能之外,表格還可以配置其他許多功能,比如


可以指定字段為鏈接列,需要給列配置link屬性

可以通過插槽自定義頂部按鈕,行操作按鈕,行字段等

可以在按鈕區(qū)域右側(cè)通過插槽配置其他內(nèi)容

其他等等

表格開發(fā)說明

通過上面的代碼示例,我們已經(jīng)知道了封裝之后的表格可以完成哪些事情,接下來一起來看看表格是如何實現(xiàn)的。完整代碼見 https://github.com/snowzijun/vue-element-table/tree/master/src/components/zj-table


表格布局

整個表格是通過JSX來封裝的,因為JSX使用起來更加靈活。對于我們封裝的表格,我們從豎向可以分為三部分,分別是頂部按鈕區(qū),中間表格區(qū),底部分頁區(qū),如何去實現(xiàn)三個區(qū)域的布局呢,核心代碼如下


render(h) {

   // 按鈕區(qū)域

   const toolbar = this.$_renderToolbar(h)

   // 表格區(qū)域

   const table = this.$_renderTable(h)

   // 分頁區(qū)域

   const page = this.$_renderPage(h)


   return (

     <div class="zj-table" style={{ height: this.tableContainerHeight }}>

       {toolbar}

       {table}

       {page}

     </div>

   )

 }

通過三個render函數(shù)分別渲染對應(yīng)區(qū)域,然后將三個區(qū)域組合在一起。


渲染表格列

通過前文的講解,我們可以將表格的列分為以下幾種


常規(guī)列

行編輯列

操作按鈕列

插槽列

鏈接列(文檔后續(xù)完善)

嵌套列(文檔后續(xù)完善)

   $_renderColumns(h, columns) {

     // 整體是否排序

     let sortable = this.sortable ? 'custom' : false

     return columns

       .filter(column => {

         const { hidden } = column

         if (hidden !== undefined) {

           if (typeof hidden === 'function') {

             return hidden({

               columns,

               column

             })

           }

           return hidden

         }

         return true

       })

       .map(column => {

         const {

           useSlot = false,

           // 如果存在操作按鈕,則actions為非空數(shù)組

           actions = [],

           // 是否可編輯列, 對于可編輯列需要動態(tài)啟用編輯

           editable = false,

           // 是否有嵌套列

           nests,

           // 是否可點擊

           link = false

         } = column

         let newSortable = sortable

         if (column.sortable !== undefined) {

           newSortable = column.sortable ? 'custom' : false

         }

         column = {

           ...column,

           sortable: newSortable

         }

         if (nests && nests.length) {

           // 使用嵌套列

           return this.$_renderNestColumn(h, column)

         } else if (editable) {

           // 使用編輯列

           return this.$_renderEditColumn(h, column)

         } else if (useSlot) {

           // 使用插槽列

           return this.$_renderSlotColumn(h, column)

         } else if (actions && actions.length > 0) {

           // 使用操作列

           column.sortable = false

           return this.$_renderActionColumn(h, column)

         } else if (link) {

           // 使用鏈接列

           return this.$_renderLinkColumn(h, column)

         } else {

           // 使用默認列

           return this.$_renderDefaultColumn(h, column)

         }

       })

   },

行編輯列

當(dāng)前表格行編輯支持input,select,datepicker,TimeSelect,InputNumber等組件,具體渲染代碼如下所示


// 編輯單元格

   $_renderEditCell(h, field) {

     const components = {

       input: Input,

       select: ZjSelect,

       date: DatePicker,

       time: TimeSelect,

       number: InputNumber

     }

     const componentType = field.componentType

     const component = components[componentType]

     if (component) {

       return this.$_renderField(h, field, component)

     } else if (componentType === 'custom') {

       // 如果自定義,可以通過component指定組件

       return this.$_renderField(h, field, field.component)

     }

     return this.$_renderField(h, field, Input)

   },

   $_renderField(h, field, Component) {

     // 編輯行的id字段

     const { rowId, events = {}, nativeEvents = {} } = field


     const getEvents = events => {

       const newEvents = {}

       Object.keys(events).forEach(key => {

         const event = events[key]

         newEvents[key] = (...rest) => {

           const args = [

             ...rest,

             {

               rowId,

               row: this.editRowsData[rowId],

               value: this.editRowsData[rowId][field.prop]

             }

           ]

           return event(...args)

         }

       })

       return newEvents

     }

     // 事件改寫

     const newEvents = getEvents(events)

     const newNativeEvents = getEvents(nativeEvents)

     return (

       <Component

         size="small"

         on={newEvents}

         nativeOn={newNativeEvents}

         v-model={this.editRowsData[rowId][field.prop]}

         {...{

           attrs: field,

           props: field

         }}

       />

     )

   }

藍藍設(shè)計www.cqzjtgb.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)


日歷

鏈接

個人資料

藍藍設(shè)計的小編 http://www.cqzjtgb.com

存檔

一个人免费在线观看的高清视频| 欧美一级a爱片免费观看看 | 高清在线国产一区| 日本三级黄在线观看| 亚洲五月婷婷丁香| 亚洲国产欧美人成| 久久久水蜜桃国产精品网| 亚洲国产高清在线一区二区三| 99国产精品99久久久久| 色av中文字幕| 欧洲精品卡2卡3卡4卡5卡区| 麻豆成人午夜福利视频| 精品人妻1区二区| 精品不卡国产一区二区三区| 欧美不卡视频在线免费观看 | 精品国产美女av久久久久小说| 欧美精品啪啪一区二区三区| 怎么达到女性高潮| 国产成人欧美在线观看| 给我免费播放毛片高清在线观看| 最近视频中文字幕2019在线8| 日本 av在线| 小说图片视频综合网站| 99久久99久久久精品蜜桃| 看黄色毛片网站| 久久久国产成人精品二区| 久久久久久久精品吃奶| 18禁国产床啪视频网站| 久久精品人妻少妇| 欧美激情久久久久久爽电影| 精品久久久久久久久久免费视频| 日本撒尿小便嘘嘘汇集6| cao死你这个sao货| 老汉色av国产亚洲站长工具| 国产精品影院久久| 国产精品免费视频内射| 成人欧美大片| 欧美另类亚洲清纯唯美| 99精品久久久久人妻精品| 日韩av在线大香蕉| 亚洲国产欧洲综合997久久,| 国产高清激情床上av| 亚洲精品一区av在线观看| 亚洲成人精品中文字幕电影| 国产av在哪里看| 国产精品98久久久久久宅男小说| 成人亚洲精品av一区二区| 精品一区二区三区四区五区乱码| 欧美人与性动交α欧美精品济南到| 欧美日韩一级在线毛片| 色噜噜av男人的天堂激情| 97碰自拍视频| 日韩中文字幕欧美一区二区| 麻豆久久精品国产亚洲av| 好男人电影高清在线观看| 黑人巨大精品欧美一区二区mp4| 亚洲欧洲精品一区二区精品久久久| 青草久久国产| 听说在线观看完整版免费高清| 香蕉丝袜av| 欧美日韩亚洲综合一区二区三区_| 亚洲aⅴ乱码一区二区在线播放 | 99在线视频只有这里精品首页| 国产成人精品久久二区二区91| 久久精品影院6| 十八禁网站免费在线| 欧美一区二区国产精品久久精品 | 免费在线观看成人毛片| 国产精品久久视频播放| 欧美黄色片欧美黄色片| 免费av毛片视频| 99精品欧美一区二区三区四区| 日本精品一区二区三区蜜桃| 黄片小视频在线播放| 亚洲欧美精品综合一区二区三区| netflix在线观看网站| 精品一区二区三区av网在线观看| 亚洲国产精品久久男人天堂| 欧美丝袜亚洲另类 | 在线观看免费视频日本深夜| 国产精品98久久久久久宅男小说| 精品久久蜜臀av无| 亚洲一卡2卡3卡4卡5卡精品中文| a级毛片在线看网站| 免费观看人在逋| 国产高清视频在线观看网站| av在线播放免费不卡| 91字幕亚洲| 亚洲成人免费电影在线观看| 亚洲国产精品合色在线| 岛国在线观看网站| 看黄色毛片网站| 欧美乱色亚洲激情| 国产99白浆流出| 亚洲av成人不卡在线观看播放网| 国产成人系列免费观看| 亚洲色图av天堂| 亚洲色图av天堂| 成年版毛片免费区| 久久久久久人人人人人| 在线视频色国产色| 久久精品国产清高在天天线| 国产成人系列免费观看| 亚洲乱码一区二区免费版| 亚洲精品色激情综合| 国产一区二区三区在线臀色熟女| 少妇裸体淫交视频免费看高清 | 男女视频在线观看网站免费 | 国产亚洲欧美98| 国产视频内射| 蜜桃久久精品国产亚洲av| 91九色精品人成在线观看| 动漫黄色视频在线观看| 嫩草影视91久久| 欧美黑人精品巨大| 国产三级中文精品| 美女免费视频网站| 午夜免费观看网址| 香蕉av资源在线| 丁香欧美五月| 久久香蕉国产精品| 99国产精品一区二区蜜桃av| 男人的好看免费观看在线视频 | 国产精品国产高清国产av| 国内精品久久久久精免费| 国产久久久一区二区三区| 黑人欧美特级aaaaaa片| 久久久精品大字幕| 中文在线观看免费www的网站 | 老熟妇仑乱视频hdxx| 少妇粗大呻吟视频| 久久精品人妻少妇| 人人妻,人人澡人人爽秒播| www.自偷自拍.com| 婷婷精品国产亚洲av在线| 亚洲专区中文字幕在线| 少妇人妻一区二区三区视频| 国产av一区二区精品久久| 他把我摸到了高潮在线观看| 日本 av在线| 男女做爰动态图高潮gif福利片| 中文字幕人成人乱码亚洲影| 国产精品久久久av美女十八| 一级a爱片免费观看的视频| 午夜影院日韩av| 亚洲成人精品中文字幕电影| 国产精品av视频在线免费观看| 国产一区二区三区在线臀色熟女| 久久精品91无色码中文字幕| 黄片大片在线免费观看| 又大又爽又粗| 麻豆成人午夜福利视频| 欧美3d第一页| 国产激情欧美一区二区| 国产精品免费视频内射| 神马国产精品三级电影在线观看 | 国产熟女午夜一区二区三区| 午夜福利视频1000在线观看| 两人在一起打扑克的视频| 久久久久精品国产欧美久久久| 亚洲国产欧美网| 国产乱人伦免费视频| 国产伦一二天堂av在线观看| 黄色毛片三级朝国网站| 国产1区2区3区精品| 亚洲午夜精品一区,二区,三区| 黄色 视频免费看| 国产高清激情床上av| 国产一区二区在线av高清观看| 亚洲精品美女久久av网站| 日韩欧美三级三区| 久久这里只有精品中国| 欧美一区二区国产精品久久精品 | 久久精品国产99精品国产亚洲性色| 免费在线观看成人毛片| 最新美女视频免费是黄的| 一本大道久久a久久精品| 悠悠久久av| 丰满的人妻完整版| 高清在线国产一区| 精品熟女少妇八av免费久了| av片东京热男人的天堂| 欧美国产日韩亚洲一区| 亚洲av中文字字幕乱码综合| 亚洲专区国产一区二区| 国产精品综合久久久久久久免费| 国产野战对白在线观看| 国内揄拍国产精品人妻在线| 欧美黑人欧美精品刺激| videosex国产| 亚洲欧美一区二区三区黑人| 又大又爽又粗| 99久久国产精品久久久| 亚洲精品国产一区二区精华液| 久久国产精品人妻蜜桃| 91九色精品人成在线观看| 999久久久精品免费观看国产| 在线观看www视频免费| 每晚都被弄得嗷嗷叫到高潮| 日韩精品青青久久久久久| 日本五十路高清| 国产又色又爽无遮挡免费看| 婷婷六月久久综合丁香| 黄片小视频在线播放| 久久香蕉国产精品| 91av网站免费观看| 亚洲精华国产精华精| 午夜精品在线福利| 99久久国产精品久久久| www国产在线视频色| 黄色丝袜av网址大全| 久久久精品大字幕| 99久久99久久久精品蜜桃| 亚洲国产精品合色在线| 午夜两性在线视频| 18禁观看日本| 亚洲国产看品久久| 亚洲成人国产一区在线观看| 亚洲精品粉嫩美女一区| 午夜亚洲福利在线播放| 日韩高清综合在线| 又爽又黄无遮挡网站| 精品日产1卡2卡| 欧美一级a爱片免费观看看 | 麻豆国产97在线/欧美 | 一级毛片高清免费大全| 国内少妇人妻偷人精品xxx网站 | 黑人巨大精品欧美一区二区mp4| 中文亚洲av片在线观看爽| 国内少妇人妻偷人精品xxx网站 | 岛国视频午夜一区免费看| 日本免费a在线| 给我免费播放毛片高清在线观看| 久久草成人影院| 在线观看舔阴道视频| www.自偷自拍.com| 日韩三级视频一区二区三区| 国产伦人伦偷精品视频| 日本 欧美在线| 午夜免费激情av| e午夜精品久久久久久久| 男女那种视频在线观看| 在线a可以看的网站| 男女下面进入的视频免费午夜| 亚洲aⅴ乱码一区二区在线播放 | 在线观看66精品国产| 日本五十路高清| 亚洲av电影在线进入| 久久精品成人免费网站| 非洲黑人性xxxx精品又粗又长| 国产人伦9x9x在线观看| 亚洲av五月六月丁香网| 亚洲成人中文字幕在线播放| 在线观看美女被高潮喷水网站 | 亚洲欧美日韩无卡精品| 99热只有精品国产| 亚洲国产精品成人综合色| 中出人妻视频一区二区| 最新美女视频免费是黄的| 成人精品一区二区免费| 日本成人三级电影网站| 国产三级在线视频| 亚洲熟妇中文字幕五十中出| 男女视频在线观看网站免费 | 国产亚洲精品久久久久久毛片| 国产精品久久久久久亚洲av鲁大| 亚洲精品久久成人aⅴ小说| 一个人免费在线观看电影 | 丝袜美腿诱惑在线| 青草久久国产| 色综合欧美亚洲国产小说| 婷婷精品国产亚洲av| 国产三级中文精品| 亚洲中文av在线| www.www免费av| 国产精品亚洲av一区麻豆| 久久久精品大字幕| 欧美激情久久久久久爽电影| 亚洲专区中文字幕在线| 色综合亚洲欧美另类图片| 久久中文字幕人妻熟女| 国产亚洲av嫩草精品影院| 老司机午夜福利在线观看视频| 脱女人内裤的视频| 国产av在哪里看| 久久久久久久久久黄片| 日本免费a在线| 可以在线观看的亚洲视频| 天堂影院成人在线观看| 特级一级黄色大片| 国产爱豆传媒在线观看 | 首页视频小说图片口味搜索| 夜夜躁狠狠躁天天躁| 手机成人av网站| 久久欧美精品欧美久久欧美| 国产成年人精品一区二区| 亚洲国产精品成人综合色| 欧美中文日本在线观看视频| 精品高清国产在线一区| 国产一级毛片七仙女欲春2| 国产高清视频在线观看网站| 麻豆成人午夜福利视频| 欧美日本视频| 亚洲自拍偷在线| 国产精品久久久久久人妻精品电影| 色av中文字幕| 国产亚洲精品一区二区www| 黄色 视频免费看| 亚洲精品美女久久久久99蜜臀| 国产成人精品无人区| 法律面前人人平等表现在哪些方面| 欧美日韩瑟瑟在线播放| 亚洲精品久久成人aⅴ小说| 一个人观看的视频www高清免费观看 | 在线观看免费日韩欧美大片| 国产av一区在线观看免费| 亚洲一区二区三区色噜噜| 色噜噜av男人的天堂激情| 亚洲av电影在线进入| 亚洲精品久久国产高清桃花| 色综合欧美亚洲国产小说| 又黄又粗又硬又大视频| 五月伊人婷婷丁香| 在线观看午夜福利视频| 亚洲人成网站高清观看| 一进一出抽搐gif免费好疼| 国产高清视频在线观看网站| 国产真实乱freesex| 亚洲国产欧美网| 18禁黄网站禁片免费观看直播| 精品久久久久久久末码| 精品午夜福利视频在线观看一区| 熟妇人妻久久中文字幕3abv| 午夜a级毛片| 男插女下体视频免费在线播放| 国内精品久久久久精免费| 久久精品人妻少妇| 亚洲国产欧美人成| 禁无遮挡网站| 欧美国产日韩亚洲一区| 在线观看免费视频日本深夜| 亚洲av成人av| 国产成人aa在线观看| 91九色精品人成在线观看| 午夜福利高清视频| 亚洲精品国产精品久久久不卡| 香蕉国产在线看| 男女那种视频在线观看| 日韩中文字幕欧美一区二区| 黄片小视频在线播放| 亚洲成av人片免费观看| 黄色a级毛片大全视频| 动漫黄色视频在线观看| 中文字幕人妻丝袜一区二区| 嫁个100分男人电影在线观看| 男男h啪啪无遮挡| 国产真人三级小视频在线观看| 中亚洲国语对白在线视频| 丰满人妻熟妇乱又伦精品不卡| 免费无遮挡裸体视频| 国产又色又爽无遮挡免费看| 欧美成人性av电影在线观看| 欧美黄色淫秽网站| 久久久久免费精品人妻一区二区| 精品少妇一区二区三区视频日本电影| 国产爱豆传媒在线观看 | 日韩av在线大香蕉| 亚洲国产中文字幕在线视频| 国产乱人伦免费视频| 亚洲美女视频黄频| 国产精品久久久久久人妻精品电影| 成人三级做爰电影| 亚洲av五月六月丁香网| av欧美777| a级毛片在线看网站| www.熟女人妻精品国产| 免费无遮挡裸体视频| 欧美黑人精品巨大| 国产精品久久视频播放| 久久人妻av系列| 亚洲国产高清在线一区二区三| 亚洲熟妇中文字幕五十中出| 精品一区二区三区四区五区乱码| 欧美不卡视频在线免费观看 | 高清在线国产一区| av免费在线观看网站| 久久中文看片网| 欧美日韩一级在线毛片| 一级毛片精品| 国产成人系列免费观看| 桃红色精品国产亚洲av| 色综合婷婷激情| 日韩欧美一区二区三区在线观看| 国产成人av教育| 亚洲av五月六月丁香网| 久久这里只有精品中国| 午夜精品在线福利| 亚洲专区字幕在线| 久久天堂一区二区三区四区| 后天国语完整版免费观看| 精品国内亚洲2022精品成人| 18禁黄网站禁片免费观看直播| 一本久久中文字幕| 国产熟女xx| 18禁国产床啪视频网站| 在线观看免费日韩欧美大片| 看黄色毛片网站| 国产成人系列免费观看| 亚洲aⅴ乱码一区二区在线播放 | 最好的美女福利视频网| 色精品久久人妻99蜜桃| 99国产精品99久久久久| 亚洲,欧美精品.| 首页视频小说图片口味搜索| 亚洲美女视频黄频| 青草久久国产| 成人国产综合亚洲| 亚洲精品色激情综合| 夜夜夜夜夜久久久久| 久久香蕉精品热| 国产亚洲精品久久久久5区| 黄色丝袜av网址大全| 日韩免费av在线播放| 我要搜黄色片| 黑人欧美特级aaaaaa片| 巨乳人妻的诱惑在线观看| 可以在线观看的亚洲视频| 老司机在亚洲福利影院| 岛国视频午夜一区免费看| 成人国语在线视频| 国产精品免费视频内射| 亚洲av日韩精品久久久久久密| 欧美中文日本在线观看视频| 变态另类成人亚洲欧美熟女| 99在线人妻在线中文字幕| 亚洲avbb在线观看| 婷婷精品国产亚洲av在线| 亚洲五月婷婷丁香| 日韩国内少妇激情av| 一二三四社区在线视频社区8| 免费在线观看成人毛片| av福利片在线观看| 亚洲精品粉嫩美女一区| 91麻豆av在线| 老汉色∧v一级毛片| 日韩欧美免费精品| 九色国产91popny在线| 国产午夜精品论理片| 久久人妻av系列| 男人舔女人的私密视频| 性色av乱码一区二区三区2| 欧美一级a爱片免费观看看 | 操出白浆在线播放| 全区人妻精品视频| 日本免费a在线| 成人精品一区二区免费| 日韩欧美精品v在线| 十八禁人妻一区二区| 色综合婷婷激情| 久久天堂一区二区三区四区| 首页视频小说图片口味搜索| 亚洲一区二区三区色噜噜| 免费人成视频x8x8入口观看| 成人一区二区视频在线观看| 天天躁狠狠躁夜夜躁狠狠躁| 中国美女看黄片| 免费一级毛片在线播放高清视频| av在线播放免费不卡| av福利片在线| 精品一区二区三区视频在线观看免费| 色播亚洲综合网| 在线观看舔阴道视频| 亚洲精品美女久久久久99蜜臀| 久久伊人香网站| 少妇人妻一区二区三区视频| 亚洲人与动物交配视频| 精品不卡国产一区二区三区| 天天添夜夜摸| 欧美大码av| 国产在线观看jvid| 国产视频内射| 伊人久久大香线蕉亚洲五| 丝袜人妻中文字幕| 国产伦一二天堂av在线观看| 18禁国产床啪视频网站| 欧美黄色淫秽网站| 一进一出抽搐gif免费好疼| 日韩大码丰满熟妇| 亚洲国产精品合色在线| 一个人免费在线观看的高清视频| 怎么达到女性高潮| 日韩精品免费视频一区二区三区| 最近在线观看免费完整版| 亚洲自偷自拍图片 自拍| 日本精品一区二区三区蜜桃| www国产在线视频色| 日韩欧美国产一区二区入口| 成年人黄色毛片网站| 欧美日韩精品网址| 一夜夜www| 国产探花在线观看一区二区| 国产在线观看jvid| 欧美日韩福利视频一区二区| 在线观看66精品国产| 91av网站免费观看| 国产av麻豆久久久久久久| 色综合亚洲欧美另类图片| 可以免费在线观看a视频的电影网站| 99久久久亚洲精品蜜臀av| 久久天躁狠狠躁夜夜2o2o| 国产伦在线观看视频一区| 波多野结衣高清作品| 欧洲精品卡2卡3卡4卡5卡区| 国产av在哪里看| 成人av在线播放网站| 亚洲熟女毛片儿| 最近最新免费中文字幕在线| 成人高潮视频无遮挡免费网站| 亚洲av日韩精品久久久久久密| 成人18禁高潮啪啪吃奶动态图| 亚洲成人精品中文字幕电影| 最近在线观看免费完整版| 婷婷精品国产亚洲av| 香蕉丝袜av| 国产激情偷乱视频一区二区| 国产精品一及| 欧美一级毛片孕妇| 精品人妻1区二区| 国产欧美日韩一区二区精品| 在线a可以看的网站| 国产高清有码在线观看视频 | 全区人妻精品视频| 国模一区二区三区四区视频 | 在线国产一区二区在线| 国产私拍福利视频在线观看| 日本三级黄在线观看| 国产精品久久久人人做人人爽| 成年女人毛片免费观看观看9| 色哟哟哟哟哟哟| a在线观看视频网站| 亚洲欧美日韩东京热| 99热只有精品国产| 级片在线观看| 国产精品,欧美在线| 黑人欧美特级aaaaaa片| 88av欧美| 看免费av毛片| 九色成人免费人妻av| 国产探花在线观看一区二区| 19禁男女啪啪无遮挡网站| 窝窝影院91人妻| 亚洲,欧美精品.| 美女扒开内裤让男人捅视频| 2021天堂中文幕一二区在线观| x7x7x7水蜜桃| av中文乱码字幕在线| 亚洲性夜色夜夜综合| 精品国内亚洲2022精品成人| 亚洲18禁久久av| 日韩大尺度精品在线看网址| 床上黄色一级片| 国产精品电影一区二区三区| 国产精品一及| 一本精品99久久精品77| av在线播放免费不卡| 国产69精品久久久久777片 | 午夜激情av网站| 亚洲aⅴ乱码一区二区在线播放 | 免费看美女性在线毛片视频| 国产伦一二天堂av在线观看| 制服丝袜大香蕉在线| 色老头精品视频在线观看| 国产精品自产拍在线观看55亚洲| 日日摸夜夜添夜夜添小说| 亚洲熟妇熟女久久| 日日爽夜夜爽网站| 国产亚洲欧美在线一区二区| 欧美日本视频| 丝袜美腿诱惑在线| 搡老熟女国产l中国老女人| 亚洲无线在线观看| 一级毛片高清免费大全| 极品教师在线免费播放| 久久久久国产精品人妻aⅴ院| 国产精品久久视频播放| 精品国产超薄肉色丝袜足j| 久9热在线精品视频| 又粗又爽又猛毛片免费看| 亚洲欧美激情综合另类| 国产成人系列免费观看| 精品欧美一区二区三区在线| 亚洲美女黄片视频| 久久久久久亚洲精品国产蜜桃av| 久久人人精品亚洲av| 国内精品久久久久久久电影| 国产亚洲精品第一综合不卡| 国产单亲对白刺激| 一区福利在线观看| 欧美另类亚洲清纯唯美| 色综合亚洲欧美另类图片| 黑人欧美特级aaaaaa片| 床上黄色一级片| 亚洲中文日韩欧美视频| 91成年电影在线观看| 亚洲成av人片在线播放无| 我要搜黄色片| 国产精品一区二区三区四区免费观看 | 久久人人精品亚洲av| 中出人妻视频一区二区| 日本 av在线| 中文在线观看免费www的网站 | 精品久久久久久成人av| 在线观看一区二区三区| 久久久久精品国产欧美久久久| 岛国视频午夜一区免费看|