UNPKG

cloud-ui.vusion

Version:
204 lines (191 loc) 7.4 kB
### 输入value 0 测试 ```vue <template> <u-tree-select-new> <u-tree-view-node-new text="节点 1" :value="0"> </u-tree-view-node-new> </u-tree-select-new> </template> ``` ```html { width: 70% } <u-tree-select-new :data-source=" [ { 'data': { 'id': 1, 'deptname': '一级部门a', 'parentid': 99, 'name': '小明' } }, { 'data': { 'id': 2, 'deptname': '一级部门b', 'parentid': 11, 'name': '刷新' } }, { 'data': { 'id': 3, 'deptname': '二级部门a', 'parentid': 1, 'name': '左箭头' } }, { 'data': { 'id': 4, 'deptname': '三级部门a', 'parentid': 3, 'name': '小明3' } } ] " value-field="data.id" text-field="data.deptname" parent-field="data.parentid" childrenField="children" ></u-tree-select-new> ``` ### 异步加载 ```vue <template> <u-linear-layout> <u-tree-select-new :data-source="load" value-field="data.id" text-field="data.deptname" parent-field="data.parentid" childrenField="children" ref="treeselect" :value.sync="selectValue" @load="onLoad" @before-load="onBeforeLoad"> </u-tree-select-new> <u-button @click="reload">重新加载</u-button> </u-linear-layout> </template> <script> // 模拟后端请求 const mockRequest = (data, timeout = 300) => new Promise((resolve, rej) => setTimeout(() => resolve(data), timeout)); export default { data() { return { selectValue: 1, data: [{ 'data': { 'id': 1, 'deptname': '一级部门a', 'parentid': 99, 'name': '小明' } }, { 'data': { 'id': 2, 'deptname': '一级部门b', 'parentid': 11, 'name': '刷新' } }, { 'data': { 'id': 3, 'deptname': '二级部门a', 'parentid': 1, 'name': '左箭头' } }, { 'data': { 'id': 4, 'deptname': '三级部门a', 'parentid': 3, 'name': '小明3' } } ] } }, methods: { load(params) { console.log('load'); return mockRequest({ list: this.data, }); }, reload() { console.log('reload'); this.data.push({ 'data': { 'id': 5, 'deptname': '三级部门a1', 'parentid': 3, 'name': '小明5' } }); this.$refs.treeselect.reload(); }, onLoad() { console.log('onLoad'); }, onBeforeLoad() { console.log('onBeforeLoad'); } }, } </script> ``` ### 表单验证 ```vue <template> <u-form ref="form"> <u-form-item label="树选择器" required rules="required"> <u-tree-select-new :data-source="load" value-field="data.id" text-field="data.deptname" parent-field="data.parentid" childrenField="children" style="width:300px;height:40px"> </u-tree-select-new> </u-form-item> <u-form-item label="树选择器" required rules="required"> <u-tree-select-new :data-source="load" value-field="data.id" text-field="data.deptname" parent-field="data.parentid" childrenField="children" :value.sync="selectValue"> </u-tree-select-new> </u-form-item> <u-form-item label="树选择器" required rules="required"> <u-tree-select-new :data-source="load" value-field="data.id" text-field="data.deptname" parent-field="data.parentid" childrenField="children" :value.sync="selectValue1"> </u-tree-select-new> </u-form-item> <u-form-item> <u-button color="primary" @click="onValidate">立即创建</u-button> </u-form-item> </u-form> </template> <script> // 模拟后端请求 const mockRequest = (data, timeout = 300) => new Promise((resolve, rej) => setTimeout(() => resolve(data), timeout)); export default { data() { return { selectValue: '', selectValue1: 2, } }, created() { setTimeout(()=>{ this.selectValue = 1; }, 1000); }, methods: { load(params) { return mockRequest({ list: [{ 'data': { 'id': 1, 'deptname': '一级部门a', 'parentid': 99, 'name': '小明' } }, { 'data': { 'id': 2, 'deptname': '一级部门b', 'parentid': 11, 'name': '刷新' } }, { 'data': { 'id': 3, 'deptname': '二级部门a', 'parentid': 1, 'name': '左箭头' } }, { 'data': { 'id': 4, 'deptname': '三级部门a', 'parentid': 3, 'name': '小明3' } } ] }); }, onValidate() { this.$refs.form.validate(); } }, } </script> ``` ### 修改尺寸 通过`width`属性设置`mini`、`small`、`normal`、`medium`、`large`、`huge`、`full`几种尺寸,宽高可以自由组合。 通过`height`属性设置`mini`、`small`、`normal`、`medium`、`large`、`huge`、`full`几种尺寸,宽高可以自由组合。 如果以上几种预设不能满足,也可以直接添加`style="width: 240px;height:30px"`来设置。 ``` vue <template> <u-linear-layout direction="vertical"> <u-linear-layout> <u-tree-select-new value="节点 1" valueField="text1" textField="text1" :data-source="[ { text1: '节点 1', children: [ { text1: '节点 1.1' }, { text1: '节点 1.2', children: [ { text1: '节点 1.2.1' }, { text1: '节点 1.2.2' }, ] }, { text1: '节点 1.3' }, { text1: '节点 1.4' }, ] }, { text1: '节点 2' }, { text1: '节点 3', children: [ { text1: '节点 3.1' } , { text1: '节点 3.2' }, ] }, ]" :width="width" :height="height"></u-tree-select-new> </u-linear-layout> <u-linear-layout> <u-text>选择尺寸</u-text> <u-select placeholder="选择宽度" v-model="width"> <u-select-item value="full">占满</u-select-item> <u-select-item value="huge">巨大</u-select-item> <u-select-item value="large"></u-select-item> <u-select-item value="medium">中型</u-select-item> <u-select-item value="normal">正常</u-select-item> <u-select-item value="small"></u-select-item> <u-select-item value="mini">迷你</u-select-item> </u-select> <u-select placeholder="选择高度" v-model="height"> <u-select-item value="full">占满</u-select-item> <u-select-item value="huge">巨大</u-select-item> <u-select-item value="large"></u-select-item> <u-select-item value="medium">中型</u-select-item> <u-select-item value="normal">正常</u-select-item> <u-select-item value="small"></u-select-item> <u-select-item value="mini">迷你</u-select-item> </u-select> </u-linear-layout> </u-linear-layout> </template> <script> // 模拟后端请求 export default { data() { return { width: 'normal', height: 'normal', } }, } </script> ```