vue+element+el-cascader 三级联动(省市区县)

我之前用过el-option来做三级联动,说实话还是有很大的区别,相比较option而言,cascader 更简单一些,但是也遇到了问题

我的页面代码是:


            
        

我的v-model获取到的是地区id,但是我后台需要存的数据是地区名称,然后百度搜索了一下,发现有一个办法可以解决

this.$refs['myCascader'].inputValue;

这个方法可以获取到读取名称,不懂的同学可以进一步百度

这里还有一个小bug,提取出来的数据是下面这种样式,但是我不需要中间的“/”

这就用到了replace和正则表达式了

下面就是保存数据的完整方法:

async save() {
      try {
        this.addLoading = true;
        const data = this.formData;

        data.shdzDq = this.$refs['myCascader'].inputValue.replace(/[^\a-\z\A-\Z0-9_\u4E00-\u9FA5]/g, "");

        await saveOrder(data);
        this.$message.success("保存成功");
        this.queryData(1);
        this.cancel();
      } catch (e) {
        this.$message.error("网络异常!");
      } finally {
        this.addLoading = false;
      }
    },

以上方法只针对个别程序,用于借鉴,我用的框架是vue+element+admin

你可能感兴趣的:(vue,js)