• 骚操作
    • 更新字典
    • 更新网络字典
    • 查找列的配置

    骚操作

    一些常用的操作

    TIP

    1.0.11+

    更新字典

    骚操作 - 图1

    crud和form的操作方法一至,调用内置的updateDic方法

    1. <el-button type="primary" size="small" @click="updateDic">点我更新字典</el-button><br /><br />
    2. <avue-form ref="form" :option="option" v-model="form"></avue-form>
    3. <script>
    4. export default {
    5. data(){
    6. return {
    7. form:{},
    8. option:{
    9. column: [{
    10. label: '字典',
    11. span:24,
    12. type:'radio',
    13. prop: 'radio',
    14. dicUrl: 'https://cli2.avue.top/api/area/getProvince',
    15. props: {
    16. label: 'name',
    17. value: 'code'
    18. }
    19. }]
    20. }
    21. }
    22. },
    23. methods:{
    24. updateDic(){
    25. this.$refs.form.updateDic('radio',[{
    26. name:'字典1',
    27. code:1
    28. },{
    29. name:'字典0',
    30. code:2
    31. }])
    32. }
    33. }
    34. }
    35. </script>

    更新网络字典

    骚操作 - 图2

    和上面方法一样,只是再调用updateDic时不需要传新的字典,他会自己调用dicUrl去请求字典

    1. <el-button type="primary" size="small" @click="updateUrlDic">点我更新字典</el-button><br /><br />
    2. <avue-form ref="form2" :option="option2" v-model="form"></avue-form>
    3. <script>
    4. export default {
    5. data(){
    6. return {
    7. form:{},
    8. option2:{
    9. column: [{
    10. label: '字典',
    11. span:24,
    12. type:'radio',
    13. prop: 'radio',
    14. dicUrl: 'https://cli2.avue.top/api/area/getProvince',
    15. props: {
    16. label: 'name',
    17. value: 'code'
    18. }
    19. }]
    20. }
    21. }
    22. },
    23. methods:{
    24. updateUrlDic(){
    25. const form = this.$refs.form2
    26. this.$message.success('先设置本地字典1s后请求url')
    27. form.updateDic('radio',[{
    28. name:'字典1',
    29. code:1
    30. },{
    31. name:'字典0',
    32. code:2
    33. }]);
    34. setTimeout(()=>{
    35. form.updateDic('radio');
    36. },1000)
    37. },
    38. }
    39. }
    40. </script>

    查找列的配置

    骚操作 - 图3

    调用内置方法findColumnIndex查找对应prop的属性序号 ,同时你也可以更新字典

    1. <el-button type="primary" size="small" @click="updateOption">点我更改配置</el-button><br /><br />
    2. <avue-form ref="form1" :option="option1" v-model="form"></avue-form>
    3. <script>
    4. export default {
    5. data(){
    6. return {
    7. form:{},
    8. option1:{
    9. column: [{
    10. label: '下拉',
    11. prop:'select',
    12. span:24,
    13. type:'select',
    14. }]
    15. }
    16. }
    17. },
    18. methods:{
    19. updateOption(){
    20. const index = this.$refs.form1.findColumnIndex('select');
    21. this.$message.success('select的序号为'+index)
    22. let column = this.option1.column[index];
    23. column=Object.assign(column,{
    24. type:'radio',
    25. label:'单选框',
    26. dicData:[{
    27. label:'字典1',
    28. value:1
    29. },{
    30. label:'字典0',
    31. value:2
    32. }]
    33. })
    34. }
    35. }
    36. }
    37. </script>