国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

a-tree-select 基本使用,下拉框高度和寬度設(shè)置、回顯時(shí)滾動(dòng)條定位解決。

這篇具有很好參考價(jià)值的文章主要介紹了a-tree-select 基本使用,下拉框高度和寬度設(shè)置、回顯時(shí)滾動(dòng)條定位解決。。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、基本使用

1. 界面效果

a-tree-select,Ant Design,javascript,前端,html

2. 代碼實(shí)現(xiàn)

<template>
  <div>
    <div class="box">
      <a-tree-select
        v-model="name"
        :replaceFields="replaceFields"
        :tree-data="treeData"
        class="tree-select"
      >
      </a-tree-select>
    </div>
  </div>
</template>

<script>
import { getPkProperty } from '@/api/process-cfg/process-cfg.js'
export default {
  data() {
    return {
      replaceFields: {
        children: 'subclasses',
        title: 'dsp_class_name',
        key: 'class_name',
        value: 'class_name'
      },
      treeData: [],
      name: ''
    }
  },
  created() {
    this.getSortData()
  },
  methods: {
    async getSortData() {
      let result = await getPkProperty()
      this.treeData = result.subclasses
    }
  }
}
</script>

<style>
.box {
  margin: 100px;
  width: 500px;
  height: 500px;
}

.tree-select {
  width: 200px;
}
</style>

3. 問(wèn)題1:下拉框占滿整個(gè)屏幕

1)問(wèn)題效果
a-tree-select,Ant Design,javascript,前端,html
2)理想效果
a-tree-select,Ant Design,javascript,前端,html
3)完整代碼

說(shuō)明:設(shè)置 dropdownStyle( 下拉菜單樣式 ),添加如下代碼,高度可自己調(diào)整。 :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"

<template>
  <div>
    <div class="box">
      <a-tree-select
        v-model="name"
        :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" 
        :replaceFields="replaceFields"
        :tree-data="treeData"
        class="tree-select"
      >
      </a-tree-select>
    </div>
  </div>
</template>

<script>
import { getPkProperty } from '@/api/process-cfg/process-cfg.js'
export default {
  data() {
    return {
      replaceFields: {
        children: 'subclasses',
        title: 'dsp_class_name',
        key: 'class_name',
        value: 'class_name'
      },
      treeData: [],
      name: ''
    }
  },
  created() {
    this.getSortData()
  },
  methods: {
    async getSortData() {
      let result = await getPkProperty()
      this.treeData = result.subclasses
    }
  }
}
</script>

<style>
.box {
  margin: 100px;
  width: 500px;
  height: 500px;
}

.tree-select {
  width: 200px;
}
</style>

4. 問(wèn)題4:菜單內(nèi)容過(guò)長(zhǎng)時(shí),下拉菜單寬度無(wú)限變寬。

1)問(wèn)題效果
a-tree-select,Ant Design,javascript,前端,html
2)理想效果

說(shuō)明:與文本框同寬,內(nèi)容過(guò)長(zhǎng)時(shí)出現(xiàn)橫向滾動(dòng)條。

a-tree-select,Ant Design,javascript,前端,html
3)完整代碼

說(shuō)明:設(shè)置 dropdownMatchSelectWidth (下拉菜單和選擇器同寬)。:dropdownMatchSelectWidth="true"

<template>
  <div>
    <div class="box">
      <a-tree-select
        v-model="name"
        :dropdownMatchSelectWidth="true"
        :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
        :replaceFields="replaceFields"
        :tree-data="treeData"
        class="tree-select"
      >
      </a-tree-select>
    </div>
  </div>
</template>

<script>
import { getPkProperty } from '@/api/process-cfg/process-cfg.js'
export default {
  data() {
    return {
      replaceFields: {
        children: 'subclasses',
        title: 'dsp_class_name',
        key: 'class_name',
        value: 'class_name'
      },
      treeData: [],
      name: ''
    }
  },
  created() {
    this.getSortData()
  },
  methods: {
    async getSortData() {
      let result = await getPkProperty()
      this.treeData = result.subclasses
    }
  }
}
</script>

<style>
.box {
  margin: 100px;
  width: 500px;
  height: 500px;
}

.tree-select {
  width: 200px;
}
</style>

二、數(shù)據(jù)回顯、滾動(dòng)條定位

1. 界面效果

說(shuō)明:將上次選中的內(nèi)容回顯,默認(rèn)展開該節(jié)點(diǎn)及父節(jié)點(diǎn),并將滾動(dòng)條自動(dòng)定位到選中的節(jié)點(diǎn)。

a-tree-select,Ant Design,javascript,前端,html

2. 代碼實(shí)現(xiàn)

思路:1)設(shè)置默認(rèn)展開節(jié)點(diǎn) treeDefaultExpandedKeys 2)將滾動(dòng)條定位到選中節(jié)點(diǎn)處

2.1 獲取默認(rèn)展開節(jié)點(diǎn)

思路:
1)根據(jù)選中節(jié)點(diǎn)的key,找到這個(gè)節(jié)點(diǎn)的所有父節(jié)點(diǎn)的key。這里用的是 xe-utils 庫(kù)里封裝好的方法。
2)由于 findTree 方法有指定的數(shù)據(jù)格式,所以我們需要將數(shù)據(jù)格式化(key:id,child:‘children’),右側(cè)是格式化后的。
3)格式化方法為 mapTree。

2.1.1 代碼實(shí)現(xiàn)
getExpandKeys(id) {
      // 1.數(shù)據(jù)格式化
      let newTree = XEUtils.mapTree(
        this.treeData, // 格式化樹數(shù)據(jù)
        (item) => {
          return {
            id: item.class_name // id對(duì)應(yīng)的字段名
          }
        },
        {
          children: 'subclasses', // 子數(shù)組對(duì)應(yīng)的字段名
          mapChildren: 'children' // 子數(shù)組格式化后的名稱
        }
      )
      // 2.找到節(jié)點(diǎn)路徑
      let data = XEUtils.findTree(newTree, (item) => item.id === id)
      // 3.獲取默認(rèn)展開節(jié)點(diǎn)
      this.treeDefaultExpandedKeys = data.nodes.map((item) => item.id)
}
2.1.2 說(shuō)明

1) mapTree 方法

  • api
    a-tree-select,Ant Design,javascript,前端,html
  • 格式化后數(shù)據(jù):只有id(key),子數(shù)組為 children
    a-tree-select,Ant Design,javascript,前端,html

2) findTree方法

  • api
    a-tree-select,Ant Design,javascript,前端,html
  • 返回?cái)?shù)據(jù)展示:
    a-tree-select,Ant Design,javascript,前端,html

2.2 設(shè)置滾動(dòng)條定位

2.2.1 注意:找到選中后的樣式名,見下圖。

a-tree-select,Ant Design,javascript,前端,html文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-627711.html

2.2.2 代碼實(shí)現(xiàn)
 setTimeout(() => {
        this.treeDefaultExpandedKeys = data.nodes.map((item) => item.id)
      }, 500)
      setTimeout(() => {
        if (
          document.getElementsByClassName('ant-select-tree-node-selected')
            .length > 0
        ) {
          document
            .getElementsByClassName('ant-select-tree-node-selected')[0]
            .scrollIntoView()
        }
 }, 1000)

三、完整代碼

<template>
  <div>
    <div class="box">
      <a-tree-select
        v-model="name"
        :dropdownMatchSelectWidth="true"
        :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
        :replaceFields="replaceFields"
        :treeDefaultExpandedKeys="treeDefaultExpandedKeys"
        :tree-data="treeData"
        class="tree-select"
        v-if="treeData.length > 0"
      >
      </a-tree-select>
    </div>
  </div>
</template>

<script>
import { getPkProperty } from '@/api/process-cfg/process-cfg.js'
import XEUtils from 'xe-utils'
export default {
  data() {
    return {
      replaceFields: {
        children: 'subclasses',
        title: 'dsp_class_name',
        key: 'class_name',
        value: 'class_name'
      },
      treeData: [],
      name: '',
      treeDefaultExpandedKeys: []
    }
  },
  async created() {
    await this.getSortData()
    await this.echoData()
  },
  methods: {
    async getSortData() {
      let result = await getPkProperty()
      this.treeData = result.subclasses
    },
    async echoData() {
      // 1.獲取回顯數(shù)據(jù)
      this.name = '國(guó)外花鍵軸磨床'
      // 2.獲取默認(rèn)展開節(jié)點(diǎn)
      this.getExpandKeys(this.name)
    },
    getExpandKeys(id) {
      // 1.數(shù)據(jù)格式化
      let newTree = XEUtils.mapTree(
        this.treeData,
        (item) => {
          return {
            id: item.class_name
          }
        },
        {
          children: 'subclasses',
          mapChildren: 'children'
        }
      )
      // 2.找到節(jié)點(diǎn)路徑
      let data = XEUtils.findTree(newTree, (item) => item.id === id)
      // 3.設(shè)置展開的key
      setTimeout(() => {
        this.treeDefaultExpandedKeys = data.nodes.map((item) => item.id)
      }, 500)
      setTimeout(() => {
        if (
          document.getElementsByClassName('ant-select-tree-node-selected')
            .length > 0
        ) {
          document
            .getElementsByClassName('ant-select-tree-node-selected')[0]
            .scrollIntoView()
        }
      }, 1000)
    }
  }
}
</script>

<style>
.box {
  margin: 100px;
  width: 500px;
  height: 500px;
}

.tree-select {
  width: 200px;
}
</style>

到了這里,關(guān)于a-tree-select 基本使用,下拉框高度和寬度設(shè)置、回顯時(shí)滾動(dòng)條定位解決。的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【UI】 elementUI的select-tree組合下拉框,選擇后下拉框不收起

    【UI】 elementUI的select-tree組合下拉框,選擇后下拉框不收起

    問(wèn)題: elementui 的 select 下拉框 搭配 樹形菜單 tree 點(diǎn)擊菜單 值雖然變化了,但select下拉框沒收起 vue代碼 1.給下拉框?qū)憘€(gè) ref 即 2.點(diǎn)擊下拉框選項(xiàng)的時(shí)候判斷值有沒有賦值(即這個(gè)select下拉框的值有沒有改變),寫個(gè)監(jiān)聽,值改變了就收起樹形菜單。 我這里是把下拉框 顯示的

    2024年02月11日
    瀏覽(26)
  • Element-Plus select選擇器-下拉組件錯(cuò)位bug(有高度滾動(dòng)時(shí))

    Element-Plus select選擇器-下拉組件錯(cuò)位bug(有高度滾動(dòng)時(shí))

    由于項(xiàng)目不便展示,因此在官網(wǎng)復(fù)現(xiàn)bug https://element-plus.org/zh-CN/component/select.html#基礎(chǔ)用法 源碼調(diào)試時(shí)發(fā)現(xiàn)下拉菜單是直接放在body 元素里,這時(shí)候希望它不要直接放在body里, 查閱文檔看到這兩個(gè)屬性: 但是添加了上面的屬性后,出現(xiàn)了新的問(wèn)題,要么是不生效,要么是下拉

    2024年02月12日
    瀏覽(29)
  • vue2 - 詳細(xì)介紹element UI中在el-select嵌套el-tree樹形控件實(shí)現(xiàn)下拉選擇樹型結(jié)構(gòu)數(shù)據(jù)的效果實(shí)例(組件封裝)

    vue2 - 詳細(xì)介紹element UI中在el-select嵌套el-tree樹形控件實(shí)現(xiàn)下拉選擇樹型結(jié)構(gòu)數(shù)據(jù)的效果實(shí)例(組件封裝)

    在項(xiàng)目上常用使用到?el-select?和?el-tree?組合實(shí)現(xiàn),記錄下兩者結(jié)合的實(shí)現(xiàn)過(guò)程。(代碼以及注釋清晰明了,代碼直接使用即可) 要求根據(jù)項(xiàng)目接口提供的數(shù)據(jù),el-tree 里的數(shù)據(jù)是一次性返回來(lái)的,點(diǎn)擊最后一層級(jí)時(shí),請(qǐng)求接口,在點(diǎn)擊層級(jí)下方追加數(shù)據(jù)追加的數(shù)據(jù)要顯示勾

    2024年04月15日
    瀏覽(90)
  • UITableView根據(jù)表格內(nèi)容進(jìn)行高度自適應(yīng)與使用Masonry實(shí)現(xiàn)根據(jù)內(nèi)容進(jìn)行寬度自適應(yīng)和高度自適應(yīng)

    Masonry和SDAutoLayout不同:SDAutoLayout需要上下左右四個(gè)方向都顯示性的進(jìn)行約束,雖然當(dāng)高度和寬度自適應(yīng)時(shí),可以少一個(gè)高度約束,但是也應(yīng)有對(duì)應(yīng)布局處理設(shè)置。因?yàn)闃?biāo)簽是有頂部和底部空白間隙的,通常高度比字體大小大一些(當(dāng)字體很大時(shí)的粗體差別很大),當(dāng)設(shè)置的高

    2023年04月25日
    瀏覽(31)
  • Selenium教程__使用Select類對(duì)象處理下拉框(15)

    Selenium教程__使用Select類對(duì)象處理下拉框(15)

    select標(biāo)簽的下拉框可以使用selenium的?Select模擬下拉框選擇操作。 Select需要導(dǎo)入才能使用,導(dǎo)入路徑如下 下面以hao123(https://www.hao123.com) 演示下拉框操作 ?演示代碼如下 -事必有法,然后有成-? 最后祝大家早日達(dá)到測(cè)試的天花板! ? 以下是我收集到的比較好的學(xué)習(xí)教程資源,

    2024年02月13日
    瀏覽(18)
  • uniapp 下拉框效果使用 uni-data-select標(biāo)簽

    uni-data-select v-model=\\\"formData.femMerchantsClassificationId\\\" :localdata=\\\"range\\\" @change=\\\"change\\\" /uni-data-select :localdata 綁定下拉框內(nèi)容 當(dāng)下拉框內(nèi)容調(diào)用后端接口時(shí)候,寫法:

    2024年02月11日
    瀏覽(18)
  • 最簡(jiǎn)單的使用css修改element-ui的el-select的高度

    最簡(jiǎn)單的使用css修改element-ui的el-select的高度

    個(gè)人博客同步csdn 首先給el-select的容器上面自定義一個(gè)類名,避免污染別的el-select 寫css,注意這里用了less 效果圖(前) 效果圖(后)

    2024年02月12日
    瀏覽(26)
  • JS--獲取元素的高度與寬度

    JS--獲取元素的高度與寬度

    原文網(wǎng)址:JS--獲取元素的高度與寬度_IT利刃出鞘的博客-CSDN博客 說(shuō)明 本文介紹如何使用JavaScript獲取HTML標(biāo)簽的高度與寬度。 讀取的方法 document.getElementById(\\\"id\\\").clientHeight 元素尺寸屬性 說(shuō)明 clientWidth 獲取元素可視部分的寬度,即 CSS 的 width 和 padding 屬性值之和,元素邊框和滾

    2024年02月06日
    瀏覽(23)
  • Android獲取文本的寬度和高度

    Android獲取文本的寬度和高度

    方法一:先繪制文本所在的矩形區(qū)域,再獲取矩形區(qū)域的寬度 上述方法由于矩形邊框緊貼文字,所有沒有多余的空間。 方法二:通過(guò)Paint的 measureText 方法直接測(cè)量文本寬度 此方法計(jì)算出的寬度會(huì)加上開始和結(jié)尾的空間,這個(gè)空間就是文字和文字之間的空間,為了美觀而存在

    2024年02月09日
    瀏覽(21)
  • java讀取圖片的大小、高度、寬度

    java讀取圖片一般分為兩種,一種是直接讀取文件地址,一種是從前端傳送過(guò)來(lái)的

    2024年02月11日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包