0.0.26 • Published 5 years ago

tree-picker v0.0.26

Weekly downloads
1
License
ISC
Repository
github
Last release
5 years ago

tree-picker

tree-picker is sample Three-level linkage selection, you can use it to choose area, department,or personnel,

安装

npm i tree-picker

使用指南

使用默认数据,

可以获取通过onchange方法,获取更改后的数据。

<template>
    <treePicker @onchange="getChoosed"/>
</template>

<script>
import treePicker from 'tree-picker';
export default {
	components: {
		treePicker,
	},
	data() {
		return {};
	},
	methods: {
		getChoosed(val) {
			console.log(val);
		}
	}
};
</script>
设置默认值,
<tree-picker
            value="陕西省 西安市 新城区"
            split=" "
            :level=3
	    	@change ="getChoosed"
            @hide="areaHide"
			@show="areaShow"
    	></tree-picker>

   export default {
        data() {
            return {};
        },
        methods: {
            getChoosed(val) {
                console.log(val);
            },
            areaHide() {
                console.log('隐藏');
            },
            areaShow() {
                console.log('显示');
            },
        },
        components: { 'tree-picker': treePicker },
    };
一次性加载所有数据

注意:mode = 1,可以使用v-model获取修改后的数据;

<template>
    <tree-picker
			value=""
	    	:data = "getAreas"
	    	:mode=1
	    	child="child",
	    	pid="parent_id",
	    	orgdata={true}
	    	@change ="getChoosed">
    	</tree-picker>
</template>

<script>
import treePicker from 'tree-picker';
export default {
	components: {
		treePicker,
	},
	data() {
		return {};
	},
	methods: {
		getChoosed(val) {
			console.log(val);
		},
		getAreas(){
		    //返回一个promise
		    return Promise
		}
	}
};
</script>
分块加载数据

注意:设置mode=2;

<template>
    <tree-picker
	    	:data = "getAreas"
	    	:mode=2
	    	@change ="getChoosed">
    	</tree-picker>
</template>

<script>
import treePicker from 'tree-picker';
export default {
	components: {
		treePicker,
	},
	data() {
		return {};
	},
	methods: {
		getChoosed(val) {
			console.log(val);
		},
		getAreas(){
		    //返回一个promise
		    return Promise
		}
	}
};
</script>
兼容form-item

注意:vbeauty = true; prop设置成关联字段名称,v-model设置成关联字段,具体用法和form-item用法一样。

<template>
    <v-form :model="customForm" :rules="customRules" ref='customRuleForm'>
        <tree-picker
	    	:data = "getAreas"
	    	:initShowList="customForm.address"
	    	:vbeauty=true
	    	:mode=2
	    	prop="address"
	    	v-model="customForm.address"
	    	@change ="getChoosed">
    	</tree-picker>
    </v-form>
</template>

<script>
import treePicker from 'tree-picker';
export default {
	components: {
		treePicker,
	},
	data() {
	    //可参照form-item设置自定义验证规则
		return {
		    customForm: {
				[
					{ code: "360000", name: "江西省" },
					{ code: "360100", name: "南昌市" },
					{ code: "360101", name: "直辖区" }
				]
			},
			customRules: {
				address: [
					{
						required: true,
						message: "请选择地址"
					}
				]
			},
		};
	},
	methods: {
		getChoosed(val) {
			console.log(val);
		},
		getAreas(){
		    //返回一个promise
		    return Promise
		}
	}
};
</script>

API

tree-picker props
参数说明类型默认值
data获取展示数据的函数,初始化必需参数,返回值必须是Promise对象,该函数默认接收一个请求参数Function-
value指定默认值,可以为"四川省,成都市,武侯区",如果分隔符非;时,需要传递下面一个参数String-
split当传递的默认值为"四川省 成都市 武侯区"这种格式时,指定数据分割方式,String;
level指定选择层级,"level=1;省。level=2;省市。level=3;省市县"Number3
mode0:使用默认数据;1:一次加载所有数据;2:分块加载数据Number0
clue选项的idStringid
name选项的名称Stringarea_name
label标签名String"地址"
initShowList当存在value时,value的优先级高于initShowList 设置默认值Array-
pid当一次性加载数据时,重组数据时的关联字段Stringparent_id
child数据层级名称Stringchild
orgdata是否使用默认重组数据方法Booleanfalse
vbeauty是否使用form-item,如果为true,则可以设置表单验证内容Booleanfalse
v-model双向绑定数据【兼容form-item时需要】--
propform-item 的prop属性,配合vbeauty=true使用String-
area-picker Method
事件说明参数
change选择的值发生变化的时候触发,默认返回选中区域数组value
hide隐藏选择面板时触发value
show打开选择面板时触发value
0.0.26

5 years ago

0.0.25

5 years ago

0.0.22

5 years ago

0.0.21

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago