这种是普通页面上的下拉框的后台代码
/// <summary>
/// 初始化仓库下拉框列表(table中的下拉框)
/// </summary>
/// <returns></returns>
public ActionResult FormInitRepertoryList2()
{
var data = sysRepertoryApp.GetList(null);
List<Cascader> list = new List<Cascader>();
for (int i = 0; i < data.Count; i++)
{
Cascader cascader = new Cascader();
cascader.label = data[i].F_Repertory_Name.ToString();
cascader.value = data[i].F_Repertory_Id.ToString();
list.Add(cascader);
}
return Content(list.ToJson());
}
页面
<row>
<i-col span="24" style="padding: 0 30px">
<i-table border :columns="columns1" :data="PurchaseInfo.ProductList" size="small"></i-table>
</i-col>
</row>
vm中的Data
RepertoryList: [],
PurchaseInfo:
{
title: '产品编号',
key: 'F_Product_Id',
},
{
title: '产品名称',
key: 'F_Product_Name',
},
{
title: '规格',
key: 'F_Product_Guige',
},
{
title: '数量',
key: 'F_Product_Nums',
},
{
title: '单价',
key: 'F_Price',
},
{
title: '总价',
key: 'F_Total_Price'
},
ProductList: [
],
},
columns1: [{
title: '仓库',
key: 'F_Repertory_Name',
render: (h, params) => {
if (params.row.$isEdit) {
var data = vm.RepertoryList;
return h('Select',
{
on: {
'on-change': (v) => {
debugger;
params.row.F_Repertory_Id = v;
}
},
},
data.map(function (item) {//这个数组需要在data中定义,里面是一个个对象,每个对象里面应当包含value属性(因为要用到)
return h('Option', {
props: {
value: item.value,
key: item.label
}
}, item);
}),
)
} else {
return h('div', params.row.F_Repertory_Name);
}
}
},
vm中的方法
FormInitRepertoryList() {
$.ajax({
type: "POST",
url: "/SystemOrder/InventoryRecord/FormInitRepertoryList2",
//data: JSON.stringify(this.page),
//contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
vm.RepertoryList = data;
console.log(data);
}
});
},
不过在使用中遇到个问题,就是不能做到显示的是name而选择后获取的是id,只能显示的跟选择的值是一样的,不知道有没有人知道怎么解决
网友评论