Vue二级联动上传图片
二级联动的后台和之前一样都需要一个字典字段查询来实现二级联动
但是由于VUE语法和AJAX的不同在前台绑定的时候也有所不同
2.1 首先下拉框的写法就有了本质的改变通过v-model=""和v-on:change=""来代替之前id=""和onchange=""的写法循环添加也变成了把数据填到我们定义的数组中然后在option中来循环绑定
<tr>
<td>所属分类</td>
<td>
<select v-model="CommodData.ComTypeID" v-on:change="getBrand" >
<option v-for="(item,index) in classifys" :value="item.ComTypeID">{{item.ComTypeName}}</option>
</select>
</td>
</tr>
<tr>
<td>品牌</td>
<td>
<select v-model="CommodData.BrandID" >
<option v-for="(item,index) in brands" :value="item.ComTypeID">{{item.ComTypeName}}</option>
</select>
</td>
</tr>2.2script里在基本的VUE框架里我们要定义数组用来接收我们收到的集合,然后在methods里写我们的加载下拉框的方法,两个下拉框的方法是分开的:首先加载第一层下拉框先定义个方法在方法里用 axios.get的方法从控制器的方法里获得数据,再把数据保存在我们定义的数组里,然后再添加一条数据请选择的数据然后是第二层下拉框获取数据然后把数据填到数组里都一样但是在一开始我们要先判断一下第一层下拉框的值是否大于零如果不大于就给数组赋一个空值,还要多写一个将品牌变成请选择的语句,具体代码以下:
<script>
let app = new Vue({
el: "#app",
data() {
return {
classifys: [],//分类
brands: []//品牌
}
},
methods: {
//加载分类下拉框
getClassify() {
axios.get('/Commodity/GetSelect?pid=0').then(res => {
this.classifys = res.data;
this.classifys.unshift({ "ComTypeID": "0", "ComTypeName": "请选择" });
});
},
//加载品牌下拉框
getBrand() {
if (this.CommodData.ComTypeID > 0) {
axios.get('/Commodity/GetSelect?pid=' + this.CommodData.ComTypeID).then(res => {
this.brands = res.data;
this.brands.unshift({ "ComTypeID": "0", "ComTypeName": "请选择" });
this.CommodData.BrandID = 0//将品牌变成请选择的状态
})
}
this.brands = [];
}
},
created: function () {
this.getClassify();
}
})
</script>VUE上传图片
首先 上传图片的控件是
<input type="file" value="" v-on:change="upLoad" />
然后定义一个上传图片的方法
upLoad(event) {
//获取图片
let file = event.target.files[0];
//配置头部类型
let fd = new FormData();
fd.append("file", file);
axios.post('/Info/UpLoad', fd).then(res => {
if (res.data.code > 0) {
this.proData.ImgUrl = res.data.fileName;
alert('上传成功')
} else {
alert(res.data.msg)
}
})
}后台也要有一个对应的方法
//文件上传
[HttpPost]
public ActionResult UpLoad()
{
try
{
//一、获取前台传过来的文件
var file = Request.Files[0];
//将虚拟路径转成物理路径
var imgDir = Server.MapPath("/Images/");
//判断你要存储的文件夹是否存在,不存在创建
//需要引用System.IO
if (!Directory.Exists(imgDir))
{
//创建文件夹
Directory.CreateDirectory(imgDir);
}
//保存
file.SaveAs(imgDir + file.FileName);
return Json(new {code = 1,fileName = file.FileName,msg="" }, JsonRequestBehavior.DenyGet);
}
catch (Exception ex)
{
return Json(new { code = 0, fileName = "", msg =ex.Message },JsonRequestBehavior.DenyGet);
}
}
Vue二级联动上传图片的更多相关文章
- vue二级联动select
<div> <span>所在区域</span> <select name="" v-model="country"&g ...
- vue实现二级联动效果
你如城市与省份间的二级联动效果 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
- iOS开发之"省市"二级联动的数据组织(PHP版)以及PickerView的实现与封装
之所以要发表这篇博客,还源于最近的开发工作所实现的一个小的Demo, 当然这个Demo不会涉及工作中App的一些内容,下方要实现的Demo是通用的.因为项目需求的迭代,要求在银行卡绑定中添加支行所在的 ...
- asp.net 使用DroDownList来实现二级联动
今天做新闻发布系统的时候,用到了二级联动,我把使用方法记录下来,以便日后查阅以及帮助新手朋友们.下面是效果图: 下面来讲解一下实现的方法: 1.在.aspx页面中,拖入两个DroDownList控件. ...
- Select标签下拉列表二级联动级联
首先从服务器端,绑定下拉列表,二级下拉的text命名按照一定规则加上一级下拉的ID. var options=new Array(); $(document).ready(function(){ // ...
- 通过Ajax异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
之前有写过是从JavaScript数组里获取省市信息来实现二级联动,但是似乎有很多需求是要从数据库里获取信息,所以就需要根据异步提交,局部刷新的思想来实现来提高用户交互问题 第一种方法是xml方法 1 ...
- 利用JavaScript来实现省份—市县的二级联动
所谓省-市二级联动是指当选择省份下拉选择框时,市县的下拉框会根据选择的省市而有相应的市县加载出来,如下图所示选择"上海市",城市的下拉选择框只会出现上海的市县: 这种二级联动非常常 ...
- 省市二级联动(原生JS)
代码如下: <html> <head> <meta charset="UTF-8"> <title>省市二级联动</title ...
- asp.net mvc jQuery 城市二级联动
页面效果图: 数据库表结构: 首先在数据库中创建省级.城市的表,我的表如下:我用了一张表放下了省级.城市的数据,用level划分省份和城市,parentId表示该城市所在省份的id 主要文件有:ind ...
- Dwz下拉菜单的二级联动
在DWZ文档中对组合框combox的是这样描述的: 在传统的select 用class 定义:class=”combox”, html 扩展:保留原有属性name, 增加了属性:ref. ref 属 ...
随机推荐
- linux运维之道学习笔记
linux常用命令 1.find命令 find / "*.log" 查找/目录下.log结尾的档案 find / -mtime -3 查找/目录下三天内被修改的档案 find / ...
- corkscrew在ssh中发生错误
使用绝对路径 ProxyCommand="corkscrew 127.0.0.1 12345 jump.123.com 2020" abc@efg.com 改为 ProxyComm ...
- jabc连接数据库
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法.JD ...
- VS2019+ Intel Fortran (oneAPI)+HDF5库的安装+测试
最近需要读取hdf5文件(*.h5),处于对速度的追求,兼具VS调试程序的需要,使用Fortran+HDF5进行读写. 注意: 此处为动态库连接方式,静态库类似,差异主要为头文件有所差异. 参考网址: ...
- SQL Server【提高】碎片
碎片 当对索引所在的基础数据表进行增删改时,若存储的数据进行了不适当的跨页(SQL Server中存储的最小单位是页,页是不可再分的),就会导致索引碎片的产生. 外部碎片 插入的数据使页与页之间造成断 ...
- SAP生产订单没有目标成本的原因解释
首先,OKV6察看一下目标成本的配置,默认是当期成本估算,见下图: 其次,没有目标成本的原因还可能是下列原因导致: 1.该物料没有成本估算和发布2.工艺路线维护日期晚于这个物料估算日期3.没有做CO1 ...
- docker命令自动补全
1.安装bash-completion yum install -y bash-completion 2.重新连接docker 服务器使docker补全命令生效,或者建立新的远程连接docker服务器 ...
- zabbix 使用小技巧
001.监控项指定时间执行 wd1-7h01m00 周一到周日,每天 01:00:00 执行一次 002.监控项某一段时间点每分钟执行一次 1-5,00:00-09:00 6-7,00:00-23:5 ...
- python+requests 验证码登录
1.先创建一个session req = requests.session() 2.通过session来把验证码下载到本地, code = req.get("https://passport ...
- 时钟频率(HZ)与数据传输速率(bit/s)的关系-转载
(24条消息) 时钟频率(HZ)与数据传输速率(bit/s)的关系_子曰小玖的博客-CSDN博客_速率和频率的关系 时钟频率(HZ)与数据传输速率(bit/s)两者是相同的概念.举例:IIC传输位速率 ...