骚操作

一些常用的操作

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>