Сортировка обновляет sh, когда происходит событие изменения массива. Установка sort='name'
приведет к повторной сортировке, если вы нажмете [Добавить] или [x], чтобы удалить элемент. Но вы хотите, чтобы он вызывал повторную сортировку всякий раз, когда вы изменяете свойство name в элементе.
Но вы не хотите, чтобы оно повторно сортировало при вводе символа, поэтому сначала нужно установить :
<input data-link="name trigger=false" />
См. Документы здесь для настройки триггера (сделано выше как локальное переопределение глобальной настройки).
Далее вы можете декларативно составить список элементов зависит от текста имени каждого элемента, написав
{^{for members sort='name' depends='members.[]^name'}}
Функция depends='members.[]^name'
имеет очень мало документации, но является подстановочным знаком для реагирования на отдельные изменения свойств (здесь, name
свойство) на любой элемент в массиве.
См. https://www.jsviews.com/#samples / sort-filter@jsv-for для образца, который его использует.
Вы также можете сделать depends='members.[]^*'
для ответа на изменения любого свойства элемента массива.
И depends='members.**'
также будет работать, для прослушивания любых изменений вообще в массиве members (см. документы здесь )
Вот рабочий пример, который использует описанный выше подход depends='members.[]^name'
:
https://jsfiddle.net/BorisMoore/b51tu27n/