Skip to content

Commit

Permalink
perf: actionbar 支持order
Browse files Browse the repository at this point in the history
  • Loading branch information
greper committed Oct 31, 2022
1 parent c296780 commit c950997
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 13 deletions.
36 changes: 25 additions & 11 deletions packages/fast-crud/src/components/actionbar/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
</template>
</div>
</template>
<script>
import { defineComponent, toRef } from "vue";
import traceUtil from "../../utils/util.trace";
import { useCompute } from "../../use/use-compute";
<script lant="ts">
import { defineComponent, computed } from "vue";
import _ from "lodash-es";
import { Constants } from "../../utils/util.constants";
export default defineComponent({
name: "FsActionbar",
Expand All @@ -27,7 +27,6 @@ export default defineComponent({
},
emits: ["action"],
setup(props, ctx) {
traceUtil.trace("fs-actionbar");
function onClick(key, value, $event) {
const e = { key, btn: value, $event };
if (value.click) {
Expand All @@ -40,12 +39,27 @@ export default defineComponent({
}
ctx.emit("action", e);
}
const { doComputed } = useCompute();
const getScopeFn = () => {
return {};
};
const refButtons = toRef(props, "buttons");
const computedButtons = doComputed(refButtons, getScopeFn);
const computedButtons = computed(() => {
let sortArr = [];
for (let key in props.buttons) {
sortArr.push({
...props.buttons[key],
_key: key
});
}
sortArr = _.sortBy(sortArr, (item) => {
return item.order ?? Constants.orderDefault;
});
const sortedButtons = {};
sortArr.forEach((item) => {
let _key = item._key;
delete item._key;
sortedButtons[_key] = item;
});
return sortedButtons;
});
return {
onClick,
computedButtons
Expand Down

0 comments on commit c950997

Please sign in to comment.