最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue+Elementui el-tree樹只能選擇子節(jié)點(diǎn)并且支持檢索功能

 更新時(shí)間:2024年12月03日 10:50:03   作者:沉默是金~  
這篇文章給大家介紹了Vue+Element UI el-tree樹只能選擇子節(jié)點(diǎn)并且支持檢索的文章,通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

效果:

 只能選擇子節(jié)點(diǎn) 添加配置

添加檢索代碼

源碼:

<template>
  <div>
      <el-button  size="small" type="primary" clearable :disabled="disabled" @click="showSign">
        危險(xiǎn)點(diǎn)評(píng)估
      </el-button>
    <!-- 規(guī)則綁定流程節(jié)點(diǎn)-->
    <el-dialog title="危險(xiǎn)點(diǎn)評(píng)估" :visible.sync="show" v-if="show" width="700px" append-to-body>
      <el-form ref="formEvaluate" :model="formEvaluate"  label-width="80px">
        <el-form-item label="危險(xiǎn)點(diǎn)">
          <el-input
            placeholder="輸入關(guān)鍵字進(jìn)行檢索"
            clearable
            v-model="filterText">
          </el-input>
          <el-tree
            ref="Tree"
            :data="treeData"
            :show-checkbox="true"
            :check-strictly="true"
            node-key="id"
            default-expand-all
            :highlight-current="true"
            :expand-on-click-node="false"
            @node-click="nodeClick"
            :props="defaultProps"
            :check-on-click-node="true"
            @check="handleCheck"
            :filter-node-method="filterNode"
          >
              <span class="custom-tree-node" slot-scope="{ node, data }">
                <span>
                  <span class="custom-expand-icon" v-if="!data.children || data.children.length === 0">
                    <img src="@/assets/images/fl.png" class="icon" />
                  </span>
                  <span class="custom-expand-icon" v-else>
                    <img src="@/assets/images/home.png" class="icon" />
                  </span>
                  {{ data.treeName }}
                </span>
              </span>
          </el-tree>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="show = false">取 消</el-button>
        <el-button type="primary" @click="saveGz">確 定</el-button>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import Treeselect from '@riophae/vue-treeselect';
import '@riophae/vue-treeselect/dist/vue-treeselect.css';
import { deptTreeSelect } from "@/api/system/user";
import { selectPcModelByTableZb } from '@/api/index-analysis/indicator-maintenance'
import { doubleTicketAppraise } from '@/api/flowable/definition'
export default {
  name: 'tsSelectTree',
  components: { Treeselect },
  props: {
    value: {
      default:''
    },
    conf: {
      type: Object
    },
    disabled: {}
  },
  data() {
    return {
      currentValue: undefined,
      filterText: '',
      options: [],
      list: [],
      loading: false,
      show:false,
      cache: [],
      input_val: this.value,
      object:this.conf,
      formEvaluate:{
        formName:null,
        formId:null,
        nodeId:null,
        nodeName:null,
        lcName:null,
        lcId:null,
        tableZbbmId:null,
        tableZbbmIds:[],
      },
      //規(guī)則數(shù)據(jù)
      treeData:[],
      //選中的數(shù)據(jù)json數(shù)組
      jsonData:[],
      evaluateArr:[],
      defaultProps: {
        children: "children",
        label: "label",
        disabled: function (data, node) {//帶子級(jí)的節(jié)點(diǎn)不能選中
          if (data.children && data.children.length > 0) {
            return true
          } else {
            return false
          }
        }
      },
    }
  },
  watch: {
    value: {
      handler(val) {
        if (val !== this.currentValue) {
          if (this.multiple) {
            if (Object.prototype.toString.call(val) === '[object String]') {
              try {
                this.currentValue = JSON.parse(val)
              } catch (e) {
                this.currentValue = val.split(',')
              }
            }
            if (Object.prototype.toString.call(val) === '[object Array]') {
              this.currentValue = val
            }
          } else {
            this.currentValue = val || undefined
          }
        }
      },
      immediate: true,
      deep: true
    },
    currentValue() {
      this.$emit('input', this.currentValue)
      this.$emit('change', this.currentValue)
    },
    filterText(val) {
      this.$refs.Tree.filter(val);
    }
  },
  created() {
    this.getDate()
    const object = this.object
    this.getTreeList()
  },
  methods: {
    filterNode(value, data) {
      if (!value) return true;
      return data.treeName.indexOf(value) !== -1;
    },
    handleCheck(data,node){
      this.evaluateArr = node.checkedNodes
    },
    // 點(diǎn)擊樹節(jié)點(diǎn) 多選邏輯todo
    nodeClick(data,node, indeterminate) {
      if(node.childNodes.length > 0){
        return
      }
    },
    cancel(){
      this.show = false
    },
    showSign() {
      this.show = true;
    },
    // 節(jié)點(diǎn)單擊事件
    handleNodeClick(data) {
      this.currentValue = data.label;
      sessionStorage.setItem('deptId',data.id)
      this.show = false
    },
    remoteMethod(query) {
      if (query !== '') {
        this.loading = true
        setTimeout(() => {
          this.getDate(query)
        }, 500)
      } else {
        this.options = this.cache
      }
    },
    getDate(query) {
      deptTreeSelect().then((response) => {
        // 獲取樹形的部門數(shù)據(jù)
        this.options = response.data;
        sessionStorage.setItem('deptInfo',this.options && JSON.stringify(this.options))
      });
    },
    getTreeList() {
      const params = {
        tableZb:'WXDPG'
      };
      selectPcModelByTableZb(params).then((response) => {
        this.treeData = response.data;
      });
    },
    saveGz(){
      this.formEvaluate.tableZbbmId = ''
      this.formEvaluate.tableZbbmIds = []
      const arr = this.evaluateArr
      if(this.evaluateArr.length ==0){
        this.$message.warning('請(qǐng)選擇一條危險(xiǎn)點(diǎn)')
        return
      }
    },
  }
}
</script>

到此這篇關(guān)于Vue+Elementui el-tree樹只能選擇子節(jié)點(diǎn)并且支持檢索的文章就介紹到這了,更多相關(guān)Vue Elementui el-tree樹選擇子節(jié)點(diǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue仿淘寶滑動(dòng)驗(yàn)證碼功能(樣式模仿)

    vue仿淘寶滑動(dòng)驗(yàn)證碼功能(樣式模仿)

    淘寶大家都使用過,淘寶滑動(dòng)驗(yàn)證碼的目的是為了驗(yàn)證到底是人還是機(jī)器,今天小編給大家分享的是模仿淘寶滑動(dòng)驗(yàn)證碼的樣式,感興趣的朋友跟隨小編一起看看吧
    2019-12-12
  • elementUI Vue 單個(gè)按鈕顯示和隱藏的變換功能(兩種方法)

    elementUI Vue 單個(gè)按鈕顯示和隱藏的變換功能(兩種方法)

    小編最近遇到這樣的需求,當(dāng)點(diǎn)擊一個(gè)按鈕可以變換里面字的內(nèi)容,剛開始還真是一頭霧水,不知所措。仔細(xì)想想屢屢思緒,很容易的解決了。接下來通過本文給大家介紹elementUI Vue 單個(gè)按鈕顯示和隱藏的變換功能,需要的朋友可以參考下
    2018-09-09
  • vue頭部導(dǎo)航動(dòng)態(tài)點(diǎn)擊處理方法

    vue頭部導(dǎo)航動(dòng)態(tài)點(diǎn)擊處理方法

    這篇文章主要介紹了vue頭部導(dǎo)航動(dòng)態(tài)點(diǎn)擊處理方法,文中通過一段示例代碼給大家介紹了vue實(shí)現(xiàn)動(dòng)態(tài)頭部的方法,需要的朋友可以參考下
    2018-11-11
  • vue+watermark-dom實(shí)現(xiàn)頁(yè)面水印效果(示例代碼)

    vue+watermark-dom實(shí)現(xiàn)頁(yè)面水印效果(示例代碼)

    watermark.js 是基于 DOM 對(duì)象實(shí)現(xiàn)的 BS 系統(tǒng)的水印,確保系統(tǒng)保密性,安全性,降低數(shù)據(jù)泄密風(fēng)險(xiǎn),簡(jiǎn)單輕量,支持多屬性配置,本文將通過 vue 結(jié)合 watermark-dom 庫(kù),教大家實(shí)現(xiàn)簡(jiǎn)單而有效的頁(yè)面水印效果,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • vue-router懶加載速度緩慢問題及解決方法

    vue-router懶加載速度緩慢問題及解決方法

    這篇文章主要介紹了vue-router懶加載速度緩慢問題及解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • vue2引入Three.js預(yù)覽3D文件的實(shí)現(xiàn)方法

    vue2引入Three.js預(yù)覽3D文件的實(shí)現(xiàn)方法

    three.js是一個(gè)基于WebGL的JavaScript庫(kù),它允許開發(fā)者在網(wǎng)頁(yè)上創(chuàng)建和顯示3D圖形,這篇文章主要介紹了vue2引入Three.js預(yù)覽3D文件的實(shí)現(xiàn)方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-10-10
  • vue2.0 子組件改變props值,并向父組件傳值的方法

    vue2.0 子組件改變props值,并向父組件傳值的方法

    下面小編就為大家分享一篇vue2.0 子組件改變props值,并向父組件傳值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • VUE解決 v-html不能觸發(fā)點(diǎn)擊事件的問題

    VUE解決 v-html不能觸發(fā)點(diǎn)擊事件的問題

    今天小編就為大家分享一篇VUE解決 v-html不能觸發(fā)點(diǎn)擊事件的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • 詳解vuex的簡(jiǎn)單使用

    詳解vuex的簡(jiǎn)單使用

    這篇文章主要介紹了詳解vuex的簡(jiǎn)單使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • Vue.js實(shí)現(xiàn)多條件篩選、搜索、排序及分頁(yè)的表格功能

    Vue.js實(shí)現(xiàn)多條件篩選、搜索、排序及分頁(yè)的表格功能

    這篇文章主要為大家詳細(xì)介紹了Vue.js實(shí)現(xiàn)多條件篩選、搜索、排序及分頁(yè)的表格功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評(píng)論

田林县| 大余县| 高要市| 无棣县| 临沭县| 汶川县| 乌拉特后旗| 海安县| 临湘市| 仁怀市| 华坪县| 贡觉县| 江川县| 汉阴县| 隆回县| 虹口区| 深州市| 鄯善县| 余庆县| 孟津县| 明溪县| 怀宁县| 尼勒克县| 专栏| 河间市| 保亭| 弥渡县| 岑溪市| 饶平县| 偏关县| 龙川县| 靖宇县| 田阳县| 平山县| 濉溪县| 江川县| 高阳县| 滁州市| 资兴市| 温泉县| 尚志市|