>  기사  >  웹 프론트엔드  >  vue.js 트리 컨트롤 사용에 대한 자세한 설명

vue.js 트리 컨트롤 사용에 대한 자세한 설명

php中世界最好的语言
php中世界最好的语言원래의
2018-04-27 16:49:364309검색

이번에는 vue.js 트리 컨트롤 사용에 대한 자세한 설명을 가져왔습니다. vue.js 트리 컨트롤 사용 시 주의사항은 무엇인가요?

구현원리

element-ui 소스코드 수정, 소스코드에서 트리 모듈 추출

그런 다음 해당 요소의 자체 체크박스와 기타 컴포넌트를 iview의 체크박스로 수정하고 호환 가능하게 만듭니다.

마지막으로 요소 스타일 수정 iview 스타일에 몇 가지 스타일도 직접 추가했습니다

새 트리 구성 요소는 요소의 논리, iview의 스타일이라고 할 수 있습니다

<template>
 <p
  @click.stop="handleClick"
  v-show="node.visible">
  <p class="chu-tree-nodecontent"
   :style="{ &#39;padding-left&#39;: (node.level - 1) * tree.indent + &#39;px&#39; }">
   <span :class="arrowClasses" @click.stop="handleExpandIconClick">
     <Icon v-if="!node.isLeaf" type="arrow-right-b"></Icon>
   </span>
   <Checkbox
    v-if="showCheckbox"
    :value="node.checked"
    :indeterminate="node.indeterminate"
    :disabled="!!node.disabled"
    @click.native.stop
    @on-change="handleCheckChange"></Checkbox>
   <span
    v-if="node.loading"
    class="ivu-load-loop">
   </span>
   <node-content :node="node"></node-content>
  </p>
  <collapse-transition>
   <p
    v-show="expanded">
    <el-tree-node
     :render-content="renderContent"
     v-for="child in node.childNodes"
     :key="getNodeKey(child)"
     :node="child"
     @node-expand="handleChildNodeExpand">
    </el-tree-node>
   </p>
  </collapse-transition>
 </p>
</template>

Modify handlerCheckChange는 iview의 체크박스 구성 요소의 논리가 다르기 때문에 기능이 다르므로 호환되어야 합니다

handleCheckChange(ev) {
    this.node.setChecked(ev, !this.tree.checkStrictly);
   },

완성된 프로젝트 구조를 추출하여 npm 플러그인으로 캡슐화합니다

사용 지침

iview를 설치해야 합니다

모든 스타일은 ivew로 대체됩니다.

기능은 모두 element-ui와 동일합니다

npm i chu-tree-iview
import chuView from 'chu-tree-iview'
Vue.use(chuView)
<chu-tree></chu-tree>

사용 설명서 element-ui와 완전히 동일합니다

이 기사의 사례를 읽은 후 방법을 마스터했다고 믿습니다. 더 흥미로운 정보를 보려면 결제하세요. PHP 중국어 웹사이트의 다른 관련 기사에 주목하세요!

추천 자료:

업로드된 파일 세부 정보를 가져오는 jquery

vue 상위 구성 요소에서 상위 구성 요소로 값을 전달하는 단계에 대한 자세한 설명

위 내용은 vue.js 트리 컨트롤 사용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.