element组件应用细节记录

(一)el_dialog

1、动态设置标题

设置标题用title="名称"
动态设置标题用:title="IssueForm.ItemInfo.Name"

2、改变标题style

使用template 标签添加 slot属性

<el-dialog
       :visible.sync="dialogVisible"
        width="30%"
       :before-close="handleClose">
        <template slot="title"> //修改title样式
             <div class='titleZise'>处理结果<span>({{workNameText}})</span></div>    
        </template>    
        //弹出框里面的内容
        <div>666</div>
</el-dialog>

 

(二)el_tabs

1、设置选中项

el-tabs设置选中项需要赋值索引。且索引要是string类型

//根据传入的brandCode设置tab选中项
    let code=this.$route.params.brandCode || '';
    let index=-1;
    //在tabs候选项数组里查找指定的brandcode
    this.dataList.find(function(item,i){
      if(item.orgCode == code){
        index=i;//记录指定项的索引
        return;
      }
    });
    this.activeName=index.toString()//设置tabs默认值

 

(三)树形

1、获取选中的叶子节点 

使用this.$refs.tree.getCheckedNodes()获取选中的所有节点,然后遍历判断

 <!-- 带有顶部搜索框的Tree -->
<div class="org-div">
    <el-input v-model="tree.filterText" :placeholder="tree.inputPlaceholder" prefix-icon="el-icon-search" />
        <el-tree
            ref="tree"
            :data="tree.list"
            :props="treeDefaultProps"
            node-key="id"
            show-checkbox
            highlight-current
            default-expand-all
            :filter-node-method="TreefilterNode"
            style="margin-top:10px;max-height:400px"
            @check="handleTreeCheck"
        />
</div>                
<script>
export default {
    data: function() {
        return {
            tree:{
                treeDefaultProps: {children: "children",label: "label"}, //树形绑定数据格式
                inputPlaceholder:"",
                filterText:"",
                selectParam:{}, //list筛选参数
                list:[],  //tree绑定数据,格式为[{children: "children",label: "label"}]
                selectedList:[],
            },
        };
    },  
    methods: {
        //Tree搜索关键字
        TreefilterNode(value, data){
          if (!value) return true;
            return data.label.indexOf(value) !== -1;
        },
        //Tree节点选中触发-按选中内容渲染中间表数据
        handleTreeCheck(){
          this.tree.selectedList=[]; //存放选中叶子节点
          this.$refs.tree.getCheckedNodes().forEach(element => {
          if(element.children==undefined){
              let oitem={name:element.label,id:element.id};
              this.tree.selectedList.push(oitem);
            }
          });
        },
    },
};
</script>

 

(四)表单验证 this.$refs[formName].validate()里面的内容不执行

 

 

 

 

解决:
自定义规则时,需要添加callback()回调,不然验证过不去。
检查自定义验证里面,是否使用if elseif 而忽略了最后的else中的callback。

 

 

posted @ 2021-04-15 11:56  暴躁老砚  阅读(168)  评论(0编辑  收藏  举报