Vue添加--图片 二级联动
二级联动:
首先在数据处理层写对应语句,
#region 分类
public List<GTYpe> GTYpe(int id)
{
return db.GTYpe.Where(p => p.GPId == id).ToList();
}
#endregion
对应的在控制器进行调用之后
在vue里写对应的参数和方法:
data() {
return {
brands: [], //品牌
classifys:[] //分类
}
}
methods: {
//加载分类
getBrand() {
axios.get('/Info/GTYpe?id=0').then(res => {
this.brands = res.data;
this.brands.unshift({ "GTId": "0", "GTName": "请选择" });
});
},
//加载品牌
getClassify() {
//this.proData.GTId>0 代表 点击的不是请选择
if (this.proData.GTId>0) {
axios.get('/Info/GTYpe?id=' + this.proData.GTId).then(res => {
this.classifys = res.data;
this.classifys.unshift({ "GTId": "0", "GTName": "请选择" });
this.proData.GPId = 0; //将品牌 变成 请选择状态
});
}
this.classifys = [];
},
在挂载函数中调用第一级下拉
created: function () {
this.getBrand()
}
在表单里写对应的v_model v-for 循环输出
<tr>
<td>商品分类:</td>
<td>
分类:
<select v-model="proData.GTId" v-on:change="getClassify">
<option v-for="(item,index) in brands" :value="item.GTId">{{item.GTName}}</option>
</select>
品牌:
<select v-model="proData.GPId">
<option v-for="(item,index) in classifys" :value="item.GTId">{{item.GTName}}</option>
</select>
</td>
</tr>
vue的图片上传:
首先在控制器里写一个图片上传的方法:
[HttpPost]
public ActionResult UpLoad()
{
var file = Request.Files[0];
var imgdir = Server.MapPath("/Images/");
//if (!Directory.Exists(imgdir))
//{
// Directory.CreateDirectory(imgdir);
//}
file.SaveAs(imgdir + file.FileName);
return Json(new { code=1,fileName=file.FileName}, JsonRequestBehavior.DenyGet); }
在添加页面里,写对应的vue的方法:
//文件上传
[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里写对应的方法用来上传和接收
//上传图片
upLoad(event) {
//获取图片
let file = event.target.files[0];
//配置头部类型
//let config = {
// headers: {
// 'Context-Type':"multipart/form-data"
// }
//} 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)
}
}) },
在表单里修改对应的数据
<tr>
<td>商品图:</td>
<td><input type="file" value="" v-on:change="upLoad" /></td>
</tr>

Vue添加--图片 二级联动的更多相关文章
- vue添加图片
首先开始创建一个 static 文件夹用来保存图片 去 setting 里面进行配置 MEDIA_ROOT = os.path.join(BASE_DIR,'media') #前面大写的是死格式,尽量 ...
- vue 添加一个二级目录
原先的: http://xxx.xx.xxx.xxx:xxx/#/ 现在的: http://xxx.xx.xxx.xxx:xxx/guangfu/#/
- vue实现二级联动效果
你如城市与省份间的二级联动效果 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
- 周记4——vue中动态添加图片无效、build上线后background-image路径问题
又是一个周五,又一周要过去了...很开心,这周遇到了vue中的一个比较常见的坑,网上随便一搜就有了很多解决方案...“幸运”的是,我选了一个带坑的方案...所以我觉得有必要记录一下这个“坑中坑”... ...
- iview+vue 表格中添加图片
开门见山,话不多说,要在表格中添加图片,可以使用td: <table " width="100%"> <tr class="tr-style ...
- android中利用实现二级联动的效果
按照惯例,首先上一张效果图. 本篇文章实现的效果就是如图中所圈的那样,实现类似于HTML中的二级联动的效果. 对于第一个选项我们读取的是本地xml文件来填充数据的, 对于第二个选项我们读取的是通过中央 ...
- JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List<T>.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动
JavaScript日历控件开发 概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果代码地址:https://github.com/aspwebc ...
- JQuery的使用案例(二级联动,隔行换色,轮播图,广告插入)
JQuery的使用案例 (一)利用JQuery完成省市二级联动 第一步:确定事件(change事件),在绑定的函数里面获取用户选择的省份 第二步:创建二维数组来存储省份和城市 第三步:遍历二维数组中的 ...
- iOS开发之"省市"二级联动的数据组织(PHP版)以及PickerView的实现与封装
之所以要发表这篇博客,还源于最近的开发工作所实现的一个小的Demo, 当然这个Demo不会涉及工作中App的一些内容,下方要实现的Demo是通用的.因为项目需求的迭代,要求在银行卡绑定中添加支行所在的 ...
- 利用JavaScript来实现省份—市县的二级联动
所谓省-市二级联动是指当选择省份下拉选择框时,市县的下拉框会根据选择的省市而有相应的市县加载出来,如下图所示选择"上海市",城市的下拉选择框只会出现上海的市县: 这种二级联动非常常 ...
随机推荐
- SDN之Openflow+OpenDayLight课程开课通知
内容简介: 该课程为期2天,在这两天里 我们将会深入体会SDN的特点与传统网络的区别 ,掌握SDN架构里各层的协议用途,Openflow作为sdn里的一款开源的南向协议,最大的意义体现在它实现了网络设 ...
- nodejs. cron风,定时任务时间写法
export declare enum CronExpression { EVERY_SECOND = "* * * * * *", EVERY_5_SECONDS = " ...
- 实验一-Password engine-加密API研究
加密API研究 181210 一.列举API在编程中的使用方式 GMT 0016-2012 类型定义 typedef struct Struct_DEVINFO{ VERSION Version; C ...
- mybatis-plus 时间查询
QueryWrapper userquery= new QueryWrapper<>(); user.and(true,wrapper -> wrapper.ge("CRE ...
- c++文件中,头文件与实现文件该写什么内容
1. 参考https://www.cnblogs.com/fenghuan/p/4794514.html
- go 的internal 目录
Go 语言中的软件包推荐按照:组织名/项目名 的形式安排软件包的文件目录结构,一般「项目名」文件目录下还会按照功能.抽象约定.具体实现等维度再划分一些子目录.在 Go 语言里包的导入路径不同则被判定为 ...
- ELKF搭建
logstash cat /etc/logstash/logstash.yml |grep -v '#'path.data: /data/logstash/datapipeline.ordered: ...
- 直接使用Arrays.asList()转数组,转变类型实际为AbstractList
1.直接将数组转换为list时List的类型为AbstractList public static void main(String[] args) { String[] arr = {"A ...
- Kafka Reblance & max.poll.interval.ms 重复消费问题
1. 什么是kafka Reblance 消费组是MQ中一个非常重要的概念,一个消费组监听一个Topic时,Kafka服务端会给消费组中的每一个实例,进行队列分配,每一个实例指定消费一个或多个队列(分 ...
- 220205_问题解决_python批量创建变量及赋值
220205_问题解决_python批量创建变量及赋值 当想要创建大量 变量名 有规律的变量.并为其有规律的赋值时,可以使用exec() 函数. exec 执行储存在字符串或文件中的 Python 语 ...