在使用avue表单时,若想在表单中进行数据请求时,可以使用下面的方法:

            {
              label: "补贴类型",
              prop: "sub_type_msg",
              search: true,
              type: "select",
              dicUrl: "/admin/hadoop/not_auth/subType",
              dicMethod: "post",
              props: { label: "value", value: "key" },
              filterable: true   //开启搜索功能
            }

 

 完整示例:

<avue-form :option="option" v-model="obj"></avue-form>
<script>
var baseUrl = 'https://cli.avuejs.com/api/area'
export default {
    data() {
      return {
        obj: {
          province:'',//绑定的prop值
        },
        option: {
          labelWidth: 100,
          column: [
            {
              label: '单选',
              prop: 'province',
              type: 'select',
              props: {
                label: 'name',
                value: 'code'
              },
              typeslot: true,
              dicUrl: `${baseUrl}/getProvince`,
              dicMethod: "post",
              typeformat(item, label, value) {
                return `值:${item[label]}-名:${item[value]}`
              },
              rules: [
                {
                  required: true,
                  message: '请选择省份',
                  trigger: 'blur'
                }
              ]
            }
          ]
        }
      }
    },
  methods:{
    handleSubmit(form){
       this.$message.success(JSON.stringify(this.form))
    }
  }
}
</script>

提示

1)dicUrl: `${baseUrl}/getCity/{ {key}}`,若需要传参数,可以直接进行拼接

2)如果是post请求,需要传递多个参数,就只能单独写一个事件,调用接口,进行赋值。要注意的是,如果是嵌套在表格中的请求,有时页面数据可能不会更新,此时可以使用getSelectOption()方法,具体如下:

getSelectOption() {

      console.log(this.$refs.crud);

      var stallIndex =this.findObject(this.table.option.column,'stall_id');

      console.log(stallIndex);

      this.$axios({

        method: "post",

        url: "/admin/merchant/water_log/getStallList"

      })

        .then(res => {

          console.log(res);

          stallIndex.dicData = DIC.STALL =res.data;

        })

        .catch(error => {});

    },

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/jiangxianfly/p/13049622.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!