Кендо - есть ли способ узнать, не загрязнено ли поле модели?

Я понимаю, что мы можем знать, грязная ли модель.

Что-то вроде этого

$("#listview").data("kendoListView").dataSource.at(0).dirty вернул бы истину или ложь.

Есть ли способ узнать, не загрязнено ли поле в модели?

Благодарю.

1 ответ

К сожалению, невозможно определить, какое поле является грязным, просто что сама модель грязная.

Вы можете найти способ обойти это. Я полагаю, вы можете сделать что-то вроде этого:

ПРИМЕЧАНИЕ: ЭТО НЕ ОЧЕНЬ ХОРОШИЙ СПОСОБ ДЕЙСТВИЯ, НО ЭТО БУДЕТ РАБОТАТЬ

change: function (e) {
    var index = this.select().index();
    var dataItem = this.dataSource.at(index);

    //will create an object in the model, you can name it whatever you want
    dataItem.addressIsDirty = true;
}

Затем позже вы можете сделать проверку:

var model = $("#listview").data("kendoListView").dataSource.at(0);

if(model.addressIsDirty) {
    //do stuff
}

Если это поле undefined тогда он пропустит это условное утверждение.

Это не красиво, и теперь вам, вероятно, придется отслеживать новые объекты, которые вы добавляете, но вы сможете отслеживать грязные поля.

Другие вопросы по тегам