Как новый пользователь kendo Vue, я настраиваю редактор редактирования всплывающих окон kendo с помощью выпадающего / комбинированного окна.Проверьте следующую ссылку.Надеюсь, поможет тот, кто нуждается в этой функции.
Я пытаюсь показать выпадающий список и изображение в редактируемом шаблоне, который, кажется, не работает, но код здесь отсутствует.
https://stackblitz.com/edit/8qr6dx-sfuuei?file=index.js
ИЛИ
https://stackblitz.com/edit/8qr6dx-co9z61?file=index.js
Добавить необходимую зависимость
new Vue({
el: '#vueapp',
data () {
return {
category: [
{ "CategoryID" : 1, "CategoryName": "Beverages"},
{ "CategoryID": 2, "CategoryName": "Condiments"},
{ "CategoryID": 3, "CategoryName": "Desserts, candies"},
],
localDataSource: {
schema: {
model: {
id: "ProductID",
fields: {
ProductID: { editable: false, nullable: true },
ProductName: { validation: { required: true } },
UnitPrice: { type: 'number', validation: { required: true, min: 1 } },
Category: { defaultValue: { CategoryID: 1, CategoryName: "Beverages"} },
Discontinued: { type: 'boolean', defaultValue: false }
}
}
},
data: [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18,
"UnitsInStock": 39,
"Discontinued": false,
"CategoryID": 1,
},
{
"ProductID": 3,
"ProductName": "Aniseed Syrup",
"UnitPrice": 10,
"UnitsInStock": 13,
"Discontinued": false,
"CategoryID": 3,
},
{
"ProductID": 4,
"ProductName": "Chef Anton",
"UnitPrice": 22,
"UnitsInStock": 53,
"Discontinued": false,
"CategoryID": 2,
},
{
"ProductID": 6,
"ProductName": "Boysenberry Spread",
"UnitPrice": 25,
"UnitsInStock": 120,
"Discontinued": false,
"CategoryID": 3,
}]
}
}
},
methods: {
categoryDropDownEditor: function(container, options) {
$('<input required name="' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
autoBind: true,
dataTextField: "CategoryName",
dataValueField: "CategoryID",
dataSource:this.category
});
},
getCategory: function(dataItem){
let CatID = dataItem.CategoryID;
let columns = this.category;
for (let i = 0; i <columns.length; i++) {
if(columns[i].CategoryID == CatID ){
return columns[i].CategoryName;
}
}
return '';
}
}
})
`<div id="vueapp" class="vue-app">
<kendo-grid :height="600"
:data-source="localDataSource"
:editable="'popup'"
:toolbar="['create', 'save', 'cancel']">
<kendo-grid-column :command="['edit','destroy']"
:title="' '"
:width="100"></kendo-grid-column>
<kendo-grid-column :field="'ProductName'"></kendo-grid-column>
<kendo-grid-column :field="'UnitPrice'"
:title="'Unit Price'"
:width="120"
:format="'{0:c}'"></kendo-grid-column>
<kendo-grid-column :field="'CategoryID'"
:title="'Category'"
:editor="categoryDropDownEditor"
:template="getCategory"
:width="180"></kendo-grid-column>
<kendo-grid-column :field="'Discontinued'" :width="120"></kendo-grid-column>
</kendo-grid>
`