一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

ElementUI的el-table的多選的取消選擇和篩選的取消所有過濾器之ref沖突問題

 丹楓無跡 2020-08-13

寫此文的緣由:現(xiàn)如今,網(wǎng)絡(luò)上,沒有同下的解釋形式(或者在外網(wǎng),所以我沒找到,或者大佬覺得太簡單所以不屑解釋)。然而,我認(rèn)為這是對VUE+ElementUI的底層框架的理解深入化問題。(為什么要深入理解底層,來自學(xué)習(xí)java時(shí)留下的習(xí)慣,挖底層代碼是常態(tài))

在API文檔中:

<el-button @click="clearFilter">清除所有過濾器</el-button>  <el-table    ref="filterTable"    :data="tableData"    style="width: 100%">    <el-table-column      prop="date"      label="日期"      sortable      width="180"      column-key="date"      :filters="[{text: ''2016-05-01'', value: ''2016-05-01''}, {text: ''2016-05-02'', value: ''2016-05-02''}, {text: ''2016-05-03'', value: ''2016-05-03''}, {text: ''2016-05-04'', value: ''2016-05-04''}]"      :filter-method="filterHandler"    >    </el-table-column>    <el-table-column      prop="name"      label="姓名"      width="180">    </el-table-column>

  

<el-table    ref="multipleTable"    :data="tableData"    tooltip-effect="dark"    style="width: 100%"    @selection-change="handleSelectionChange">    <el-table-column      type="selection"      width="55">    </el-table-column>    <el-table-column      label="日期"      width="120">      <template slot-scope="scope">{{ scope.row.date }}</template>    </el-table-column>

  如果要同時(shí)使用取消選擇和清空所有過濾器的話,按照API的例子,這里的ref是定義了不同的名字。

那么我遇到的問題,錯(cuò)誤的認(rèn)為,ref=“***”這里對應(yīng)的是不同key值對應(yīng)的不同value;

實(shí)際上:不論這的ref=“**”,ref等于任何一個(gè)字符串,只是將ref這個(gè){key,value}中的key賦值,不論key賦給什么值,都會(huì)指向定位到唯一的value;

從實(shí)際例子上看:

api代碼中:

toggleSelection(rows) {        if (rows) {          rows.forEach(row => {            this.$refs.multipleTable.toggleRowSelection(row);          });        } else {          this.$refs.multipleTable.clearSelection();        }      }

  多選的取消選擇定義的ref的key名叫multipleTable,而篩選里:

clearFilter() {        this.$refs.filterTable.clearFilter();      }

  取名叫filterTable,這里只是取名問題,取key值名叫什么什么的情況,其對應(yīng)的value的屬性是不變的;

所以,可以寫成以下這種情況:

<el-table      :data="tableData"      stripe      border      ref="multipleTable"      tooltip-effect="dark"      style="width: 100%"      height="420"      @selection-change="handleSelectionChange">      <el-table-column        type="selection"        width="55">      </el-table-column>......    toggleSelection (rows) {      if (rows) {        rows.forEach(row => {          this.$refs.multipleTable.toggleRowSelection(row)        })      } else {        this.$refs.multipleTable.clearSelection()      }    },    handleSelectionChange (val) {      this.multipleSelection = val    },    clearFilter () { // 清空全部篩選      this.$refs.multipleTable.clearFilter()    }

  附上底層vue代碼:

export interface Vue {  readonly $el: Element;  readonly $options: ComponentOptions<Vue>;  readonly $parent: Vue;  readonly $root: Vue;  readonly $children: Vue[];  readonly $refs: { [key: string]: Vue | Element | Vue[] | Element[] };  readonly $slots: { [key: string]: VNode[] | undefined };  readonly $scopedSlots: { [key: string]: NormalizedScopedSlot | undefined };  readonly $isServer: boolean;  readonly $data: Record<string, any>;  readonly $props: Record<string, any>;  readonly $ssrContext: any;  readonly $vnode: VNode;  readonly $attrs: Record<string, string>;  readonly $listeners: Record<string, Function | Function[]>;......

  

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    九九九热在线免费视频| 日韩欧美一区二区亚洲| 熟女体下毛荫荫黑森林自拍| 99久久精品一区二区国产| 国产不卡在线免费观看视频 | 精品人妻一区二区三区免费看| 人妻久久这里只有精品| 日韩高清一区二区三区四区| 亚洲午夜精品视频在线| 成人午夜爽爽爽免费视频| 在线观看视频日韩精品| 中文字幕一二区在线观看| 一二区不卡不卡在线观看| 国产成人精品在线播放| 久久精品国产亚洲av麻豆尤物| 免费在线观看激情小视频| 日本乱论一区二区三区| 欧美日韩亚洲精品内裤| 日韩成人h视频在线观看| 欧美日韩国产另类一区二区 | 国产成人精品99在线观看| 熟妇人妻av中文字幕老熟妇| 国产精品二区三区免费播放心| 国产内射一级一片内射高清| 视频在线观看色一区二区| 久久re6热在线视频| 国产欧美性成人精品午夜| 国产精品香蕉免费手机视频| 日韩亚洲精品国产第二页| 黄色片一区二区三区高清| 婷婷伊人综合中文字幕| 亚洲一区二区精品久久av| 中文字幕亚洲精品乱码加勒比| 亚洲视频一区自拍偷拍另类| 亚洲国产成人久久99精品| 亚洲内射人妻一区二区| 色狠狠一区二区三区香蕉蜜桃| 日韩精品一区二区三区av在线| 正在播放国产又粗又长| 成人精品亚洲欧美日韩| 日本三区不卡高清更新二区|