У меня есть форма редактирования, и я хочу, чтобы кнопка «Сохранить» была отключена до тех пор, пока не будет сделано редактирование для одного из свойств, связанных с элементом ввода или выбора ,Предоставляет ли Aurelia какой-либо индикатор Dirty, основанный на исходном значении свойства
Однако, если пользователь редактирует текст до первоначального значения, форма больше не должна считаться грязной.
Пример:
- Первоначальная стоимость: "Тест" - Не Грязный
- Пользователь редактирует ввод и изменения значения: "Тест 2" - Dirty
- Пользователь редактирует ввод снова и изменение значения вернуться к «Тест» - Не Грязный
Я видел this пост, который описывает, как создать dirtyBindingBehavior, но это только сравнивает новое значение, что там было раньше - в этом случае, линь e 3 выше приведет к по-прежнему перечислять форму как Dirty, поскольку она будет сравнивать старое значение «Test 2» с новым значением «Test».
Любые идеи о том, как это сделать?
идеальный! Спасибо – RHarris
Если это решает вашу проблему, отметьте ее как ответ, чтобы помочь другим людям –
В большинстве случаев вы можете просто сохранить сериализованную копию и сравнить ее. Используйте только JSON.stringify в «deepClone» и сохраните версию строки в oldModel. Теперь реализуем «isEqual» со строковым сравнением, снова вызывающим JSON.striginfy на newModel. –