@estjs/template 0.0.16-beta.7 → 0.0.16-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/template.cjs.js +2 -2
- package/dist/template.d.cts +1 -1
- package/dist/template.d.ts +1 -1
- package/dist/template.dev.cjs.js +6 -6
- package/dist/template.dev.cjs.js.map +1 -1
- package/dist/template.dev.esm.js +6 -6
- package/dist/template.dev.esm.js.map +1 -1
- package/dist/template.esm.js +2 -2
- package/package.json +4 -4
package/dist/template.dev.esm.js
CHANGED
|
@@ -1819,7 +1819,7 @@ function For(props) {
|
|
|
1819
1819
|
if (isFunction(input)) return (_b = input()) != null ? _b : [];
|
|
1820
1820
|
return input != null ? input : [];
|
|
1821
1821
|
};
|
|
1822
|
-
const getKey = (item) => keyFn ? keyFn(item) : item;
|
|
1822
|
+
const getKey = (item, index) => keyFn ? keyFn(item, index) : item;
|
|
1823
1823
|
const normalizeNodes = (value) => {
|
|
1824
1824
|
if (Array.isArray(value)) {
|
|
1825
1825
|
const nodes = [];
|
|
@@ -1854,14 +1854,14 @@ function For(props) {
|
|
|
1854
1854
|
}
|
|
1855
1855
|
fallbackNodes = [];
|
|
1856
1856
|
};
|
|
1857
|
-
const renderItem = (item, index, parent, before) => {
|
|
1857
|
+
const renderItem = (item, index, parent, before, key = getKey(item, index)) => {
|
|
1858
1858
|
const parentScope = getActiveScope();
|
|
1859
1859
|
const scope = createScope(parentScope);
|
|
1860
1860
|
let mountedNodes = [];
|
|
1861
1861
|
runWithScope(scope, () => {
|
|
1862
1862
|
mountedNodes = mountValue(renderFn(item, index), parent, before);
|
|
1863
1863
|
});
|
|
1864
|
-
return { key
|
|
1864
|
+
return { key, item, nodes: mountedNodes, scope };
|
|
1865
1865
|
};
|
|
1866
1866
|
const disposeItem = (entry) => {
|
|
1867
1867
|
disposeScope(entry.scope);
|
|
@@ -1930,7 +1930,7 @@ function For(props) {
|
|
|
1930
1930
|
let maxOldSeen = 0;
|
|
1931
1931
|
const newKeys = new Array(newLen);
|
|
1932
1932
|
for (let i = 0; i < newLen; i++) {
|
|
1933
|
-
newKeys[i] = getKey(newItems[i]);
|
|
1933
|
+
newKeys[i] = getKey(newItems[i], i);
|
|
1934
1934
|
}
|
|
1935
1935
|
for (let i = 0; i < newLen; i++) {
|
|
1936
1936
|
const item = newItems[i];
|
|
@@ -1947,11 +1947,11 @@ function For(props) {
|
|
|
1947
1947
|
} else {
|
|
1948
1948
|
if (!batchFragment) batchFragment = document.createDocumentFragment();
|
|
1949
1949
|
disposeItem(reused);
|
|
1950
|
-
newEntries[i] = renderItem(item, i, batchFragment, null);
|
|
1950
|
+
newEntries[i] = renderItem(item, i, batchFragment, null, key);
|
|
1951
1951
|
}
|
|
1952
1952
|
} else {
|
|
1953
1953
|
if (!batchFragment) batchFragment = document.createDocumentFragment();
|
|
1954
|
-
newEntries[i] = renderItem(item, i, batchFragment, null);
|
|
1954
|
+
newEntries[i] = renderItem(item, i, batchFragment, null, key);
|
|
1955
1955
|
}
|
|
1956
1956
|
}
|
|
1957
1957
|
for (const list of oldKeyMap.values()) {
|